Jump to content

Welcome to Obsidian Forum Community
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. If you already have an account, login here - otherwise create an account for free today!
Photo

How Do I make Multiple "Entry Points" in a .NET CORE app?


  • Please log in to reply
1 reply to this topic

#1
Xarzu

Xarzu

    (1) Prestidigitator

  • Members
  • 21 posts
I am new to .NET CORE but I have followed a few tutorials. The tutorials I have followed are basically "Hello World" types of programs where I make a small functional  .Net Core application and I publish it. They are basically a DLL, I assume, and they run in some sort of system/container where they can run on any OS.
 
Even though the final product is a DLL, the code itself seems to be structured in a way where it is an actual executable application.
 
So how would I translate an actual C# DLL project into a .NET Core project? How would a project that is already designed to produce a DLL work in a .Net Core project?
 
Executables only have one entry point: static void Main.
 
.NET Libraries expose public methods which are all entry points in that sense.
 
An "entry point" in a program is where the operating system invokes an executable program file, the term does not apply to libraries. (and ASP.NET web-application files are really just libraries, the ASP.NET host just looks for certain exposed Page/Handler/Controller types). This applies to ASP.NET.  Does it also apply to .NET Core? Also, when I ran my .NET Core applications, I did it from a special command line. So how would that work if I translated a DLL C# program into a .NET Core program?
 


#2
Fenixp

Fenixp

    Arch-Mage

  • Members
  • 2099 posts
  • Steam:Fenixp
  • Deadfire Backer
  • Fig Backer
  • Black Isle Bastard!

If you want to generate an executable, you do:

dotnet publish -c Release -r win10-x64

"r" means "runtime", here's a list. By default, .NET Core compiles into a .dll which can then be executed on any platform supported by .NET Core (via dotnet "appname")

 

You can't have multiple entry points into an executable application. Even web applications contain a Main which builds web host.

 

Edit: Incidentally, https://stackoverflow.com


Edited by Fenixp, 13 April 2018 - 02:52 AM.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users