自包含.net核心网络应用程序

时间:2017-06-25 15:43:52

标签: asp.net-core

我有一个.net核心网络应用程序,我想在Windows或OSX上作为常规应用程序安装。如果我将其部署为自包含应用程序,那么在运行.exe时,Web服务器是否会启动?而且,我如何配置应用程序将侦听的端口?

我的长期目标是创建一个用户界面,让用户配置一些东西并让应用程序从Windows应用商店和/或Mac AppStore中分发,但我不确定这是否可行?

1 个答案:

答案 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文件来运行您的应用程序。