我曾经在 Visual Studio 2019 中使用“ASP.NET Core Web 应用程序”模板制作 REST API,但我不想必须安装 .NET Core 才能使用我的服务器应用程序,所以我使用了 .NET Framework 模板。
但是,前者总是为我创建一个可执行文件,即使在 IDE 之外也可以运行。服务器将在控制台窗口中运行。但是,.NET Framework 模板仅将程序集生成为 DLL。由于模板没有 Main() 函数,因此在项目设置中更改为“控制台应用程序”是没有用的。
如何让我的服务器在 IDE 之外运行?我很想知道如何从 Main() 函数启动服务器。然后我可以实现一个 ServiceBase 类来将我的程序变成一个服务,这最终是我想要的。
我知道有一种方法可以“部署”服务器以与 issexpress 一起运行,但我宁愿让它从可执行文件中自行运行。
.NET Core 生成一个可以使用 dotnet run
. 例如:
dotnet run MyProgram.dll
请注意:您需要如果您使用此方法在.NET核心的运行期安装。
您可以获得一个 EXE 存根,它可以通过发布您的项目来为您完成这一切。例如:
dotnet publish MyProgram.sln -c Release -r win-x64
这将创建一个发布模式的 Windows x64 编译,其中包含一个名为MyProgram.exe
您可以正常执行的文件。
请注意:你并不需要.NET核心的运行期安装,如果你使用这种方法。
您甚至可以通过编译为单个文件来更轻松地分发:
dotnet publish MyProgram.sln -r win-x64 -p:PublishSingleFile=true --self-contained true
这将生成一个文件:MyProgram.exe。
请注意:你并不需要.NET核心的运行期安装,如果你使用这种方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句