当我将我的ASP.NET核心web应用程序发布到我的本地文件系统时,它总是采用production-config和ASPNETCORE_ENVIRONMENT变量,其值= "Production“。
如何以及在何处设置ASPNETCORE_ENVIRONMENT变量的值,以便不仅用于调试,而且用于发布的?我已经尝试了以下选项,但没有成功:
发布于 2019-01-30 10:09:33
除了上面提到的选项之外,还有一些其他的解决方案。
1.修改项目文件(.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
。对于任何其他配置,在生成的web.config文件中,环境名称为Production
。更多细节请访问here。
2.在发布配置文件中添加EnvironmentName属性。
我们也可以在发布配置文件中添加<EnvironmentName>
属性。打开位于Properties/PublishProfiles/{profilename.pubxml}
的发布配置文件。这将在发布项目时在web.config中设置环境名称。更多细节请访问。
<PropertyGroup>
<EnvironmentName>Development</EnvironmentName>
</PropertyGroup>
3.使用 dotnet publish
的命令行选项
此外,我们可以将属性EnvironmentName
作为命令行选项传递给dotnet publish
命令。以下命令将环境变量作为Development
包含在web.config文件中。
dotnet publish -c Debug -r win-x64 /p:EnvironmentName=Development
发布于 2017-01-09 23:33:36
Option1:
要在Windows中设置ASPNETCORE_ENVIRONMENT环境变量:
setx ASPNETCORE_ENVIRONMENT "Development"
$Env:ASPNETCORE_ENVIRONMENT = "Development"
有关其他OSes,请参阅
选项2:
如果你想使用web.config
设置ASPNETCORE_ENVIRONMENT,那么像这样添加aspNetCore
-
<configuration>
<!--
Configure your application settings in appsettings.json. Learn more at http://go.microsoft.com/fwlink/?LinkId=786380
-->
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath=".\MyApplication.exe" arguments="" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false">
<environmentVariables>
<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
</environmentVariables>
</aspNetCore>
</system.webServer>
</configuration>
发布于 2017-09-24 20:09:31
在Visual Studio IDE中设置它的简单方法。
菜单项目→属性→调试→环境变量
https://stackoverflow.com/questions/41546943
复制相似问题