gpt4 book ai didi

c# - 如何设置 ASPNETCORE_ENVIRONMENT 以考虑发布 ASP.NET Core 应用程序

转载 作者:行者123 更新时间:2023-12-03 05:15:14 32 4
gpt4 key购买 nike

当我将 ASP.NET Core Web 应用程序发布到本地文件系统时,它始终采用生产配置和值为“Production”的 ASPNETCORE_ENVIRONMENT 变量。

我必须如何以及在哪里设置 ASPNETCORE_ENVIRONMENT 变量的值,以便它不仅用于调试,而且还用于发布?我已经尝试过以下选项但没有成功:

  • 在 Windows 设置中
  • 在文件 .pubxml 文件中
  • 在文件launchSettings.json
  • 在文件 project.json

最佳答案

除了上述选项之外,还有其他一些解决方案。

<强>1。使用 dotnet publish 的命令行选项

此外,我们可以传递属性EnvironmentName作为 dotnet publish 的命令行选项命令。以下命令包含环境变量 Developmentweb.config文件中。

dotnet publish -c Debug -r win-x64 /p:EnvironmentName=Development

<强>2。修改项目文件(.CsProj)文件

MSBuild 支持EnvironmentName属性,可以帮助根据您希望部署的环境设置正确的环境变量。环境名称将在发布阶段添加到 web.config 中。

只需打开项目文件 (*.csProj) 并添加以下 XML。

<!-- Custom property group added to add the environment name during publish

The EnvironmentName property is used during the publish
for the environment variable in web.config
-->
<PropertyGroup Condition=" '$(Configuration)' == '' Or '$(Configuration)' == 'Debug'">
<EnvironmentName>Development</EnvironmentName>
</PropertyGroup>

<PropertyGroup Condition=" '$(Configuration)' != '' AND '$(Configuration)' != 'Debug' ">
<EnvironmentName>Production</EnvironmentName>
</PropertyGroup>

上面的代码会将环境名称添加为 Development对于调试配置或未指定配置。对于任何其他配置,环境名称将为 Production在生成的 web.config 文件中。更多详情请参阅here .

<强>3。在发布配置文件中添加 EnvironmentName 属性。

我们可以添加<EnvironmentName>发布配置文件中的属性也是如此。打开位于 Properties/PublishProfiles/{profilename.pubxml} 的发布配置文件。这将在项目发布时在 web.config 中设置环境名称。更多详细信息为 here

<PropertyGroup>
<EnvironmentName>Development</EnvironmentName>
</PropertyGroup>

关于c# - 如何设置 ASPNETCORE_ENVIRONMENT 以考虑发布 ASP.NET Core 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41546943/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com