如何发布具有特定配置文件的.NET Core控制台应用程序?

问题描述 投票:0回答:2

我在 .NET Core 中有控制台应用程序。我已在

launchSettings.json
中创建了配置文件,如下所示:

{
  "profiles": {
    "Console.Dev": {
      "commandName": "Project",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "DEV"
      }
    },
    "Console.UAT": {
      "commandName": "Project",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "UAT"
      }
    },
    "Console.PRD": {
      "commandName": "Project",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "PRD"
      }
    }
  }
}

通常我使用 Visual Studio 的“发布”功能来发布应用程序。即右键单击该项目,然后单击“发布”

enter image description here

但它没有任何选择配置文件的选项。我想使用配置文件名称

Console.PRD
进行部署。我怎样才能做到这一点?

c# visual-studio .net-core console-application publish
2个回答
1
投票

您可以使用 dotnet cli,这将在部署的 web.config 中设置 ASPNETCORE_ENVIRONMENT

dotnet publish /p:EnvironmentName=PRD

还有其他选项请查看官方文档。

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


0
投票

发布的应用程序不依赖环境变量。

运行应用程序时,您可以选择在服务器上指定 ASPNETCORE_ENVIRONMENT 环境变量来访问相应的配置。正如您将其添加到 Visual Studio 启动设置中一样,您可以在 Web 服务器中配置它或在操作系统级别进行设置。

例如,如果您在 IIS 中运行应用程序,则可以在 Web 配置文件中指定它。或者,您可以在操作系统级别进行设置。例如,在 Linux 中,您可以

export ASPNETCORE_ENVIRONMENT=RDP
进行设置。

更新,Dotnet 命令支持一种明确告知要使用哪个环境的方法。它会自动在 Web 配置文件中添加配置,这样您就不必手动执行此操作。 https://stackoverflow.com/a/53056912/3333933

© www.soinside.com 2019 - 2024. All rights reserved.