有没有办法通过本地主机中的 Kestrel 运行 .NET Core 发布的 Web 应用程序?

Moh*_*mad 4 .net-core asp.net-core

据我所知,根据 Dotnet 核心中的 Microsoft Docs,ConfigureWebHostDefaults使 Kestrel 成为项目内的默认 Web 服务器。

public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseStartup<Startup>();
            });
Run Code Online (Sandbox Code Playgroud)

因此,我可以Dotnet Run在我的主项目路径(包含 .sln)中使用并直接使用 Kestrel 运行该项目,而无需 IIS Express 并且它会运行(因为我可以使用 VS Express 来执行此操作)。但我想知道有什么方法可以在服务器本地主机中的发布产品(发布后)中做到这一点?我在服务器中成功地使用 IIS 托管了我的项目,并且工作正常,但出于好奇,我Dotnet run在发布根目录中运行,它返回:

欢迎使用.NET Core 3.1!--------------------- SDK版本:3.1.404

遥测 --------- .NET Core 工具收集使用数据,以帮助我们改善您的体验。它由 Microsoft 收集并与社区共享。您可以使用您喜欢的 shell 将 DOTNET_CLI_TELEMETRY_OPTOUT 环境变量设置为“1”或“true”来选择退出遥测。

了解有关 .NET Core CLI 工具遥测的更多信息: https://aka.ms/dotnet-cli-telemetry

---------------- 浏览文档: https: //aka.ms/dotnet-docs报告问题并在 GitHub 上查找源代码: https: //github.com/dotnet/core查找了解新功能: https: //aka.ms/dotnet-whats-new了解已安装的 HTTPS 开发人员证书: https: //aka.ms/aspnet-core-https使用“dotnet --help”查看可用命令或访问: https: //aka.ms/dotnet-cli-docs 编写您的第一个应用程序:https://aka.ms/first-net-core-app

Ada*_*dam 9

构建项目后,您可以使用dotnet whatever.dll,“运行”命令用于源:

https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet-run

dotnet run 命令用于项目上下文,而不是构建的程序集。如果您尝试运行依赖于框架的应用程序 DLL,则必须使用不带命令的 dotnet。例如,要运行 myapp.dll,请使用:

dotnet myapp.dll