我有一个.net核心网络应用程序,我想在Windows或OSX上作为常规应用程序安装。如果我将其部署为自包含应用程序,那么在运行.exe时,Web服务器是否会启动?而且,我如何配置应用程序将侦听的端口?
我的长期目标是创建一个用户界面,让用户配置一些东西并让应用程序从Windows应用商店和/或Mac AppStore中分发,但我不确定这是否可行?
答案 0 :(得分:2)
为了作为一个独立的应用程序,你需要在csproj文件中指定一个运行时。 :
<PropertyGroup>
<RuntimeIdentifiers>win10-x64;osx.10.11-x64;ubuntu.16.10-x64</RuntimeIdentifiers>
</PropertyGroup>
比发布该运行时的应用程序:
dotnet publish -c Release -r win10-x64
如果要更改应用程序正在侦听的端口,则需要在Program.cs文件中进行设置:
public static void Main(string[] args)
{
var host = new WebHostBuilder()
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.UseApplicationInsights()
// Set url and port here.
.UseUrls("http://0.0.0.0:5005")
.Build();
host.Run();
}
您现在可以通过在发布方向中运行yourapp.exe文件来运行您的应用程序。