华域联盟 .Net 发布asp.net core时如何修改ASPNETCORE_ENVIRONMENT环境变量

发布asp.net core时如何修改ASPNETCORE_ENVIRONMENT环境变量

发布asp.net core时如何修改ASPNETCORE_ENVIRONMENT环境变量
 更新时间:2021年04月13日 10:07:57   作者:.net技术问答  

这篇文章主要介绍了发布asp.net core时如何修改ASPNETCORE_ENVIRONMENT环境变量,帮助大家更好的理解和学习使用.net技术,感兴趣的朋友可以了解下

目录遇到的问题解决方案修改 .csproj 文件
在 FolderProfile.pubxml 中添加 EnvironmentName
dotnet publish 时添加
cmd配置web.config 配置总结遇到的问题
当我把 asp.net core web 发布到本地文件时,我发现程序读的是 appsettings.Production.json ,也就说明当前的 ASPNETCORE_ENVIRONMENT = Production。
请问如何动态修改 ASPNETCORE_ENVIRONMENT的值,这样的话在 调试 和 发布 阶段都非常灵活了,但我尝试在下面几个地方修改都没有成功。。。

windows settings
.pubxml file
launchSettings.json
project.json

解决方案
有下面几个解决方案。
修改 .csproj 文件

可以在 .csproj 中增加 <EnvironmentName> 节点来设置环境变量,当 MSBuild 编译时会根据当前的项目模式为 Deubg 还是 Release 执行相应代码段,最后配置节会进入到 web.config 中。

<!-- 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>

在 FolderProfile.pubxml 中添加 EnvironmentName

可以在 publish profile中添加 <EnvironmentName> 节点配置你需要的环境变量,如下代码所示:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <DeleteExistingFiles>True</DeleteExistingFiles>
    <EnvironmentName>Development</EnvironmentName>
  </PropertyGroup>
</Project>

dotnet publish 时添加

在用 dotnet pulish 发布项目时,可以在发布参数中指定 环境变量。

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

cmd配置
Command Line : setx ASPNETCORE_ENVIRONMENT "Development"
PowerShell :  $Env:ASPNETCORE_ENVIRONMENT = "Development"
web.config 配置
可以在最后发布好的 web.config 中增加 environmentVariables 节点,如下所示:

<configuration>
  <!--
    Configure your application settings in appsettings.json. Learn more at 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>

总结
相信这是很多新人在用 Asp.NET Core 开发项目最后发布时都会遇到的坎,我在实际开发中用的最多的是在机器级配置 ASPNETCORE_ENVIRONMENT ,万万没想到还有这么多的灵活配置方案,不得不服,尤其是那个在 dotnet publish时指定,学习了 😁😁😁。
以上就是发布asp.net core时如何修改ASPNETCORE_ENVIRONMENT环境变量的详细内容,更多关于asp.net core修改ASPNETCORE_ENVIRONMENT环境变量的资料请关注华域联盟其它相关文章!

您可能感兴趣的文章:ASP.NET Core扩展库之Http日志的使用详解ASP.NET Core自动生成小写破折号路由的实现方法如何在ASP.NET Core中使用HttpClientFactory如何在ASP.Net Core中使用SerilogASP.NET Core 5中如何生成PDF文档ASP.NET Core扩展库之实体映射使用详解详解如何在ASP.Net Core中实现健康检查如何在ASP.NET Core中使用ViewComponent

asp.net
core
ASPNETCORE ENVIRONMENT
环境变量

相关文章
无法将类型为“System.Web.UI.WebControls.HiddenField”的对象强无法将类型为“System.Web.UI.WebControls.HiddenField”的对象强制转换为类型的错误的解决方法
2011-12-12
ASP.NET MVC使用ActionFilterAttribute实现权限限制的方法(附dem这篇文章主要介绍了ASP.NET MVC使用ActionFilterAttribute实现权限限制的方法,结合实例形式分析了ASP.NET MVC使用ActionFilterAttribute过滤类实现权限限制的步骤与相关技巧,并附带demo源码供读者下载,需要的朋友可以参考下 2016-04-04
ASP.NET Core WebAPI实现本地化(单资源文件)这篇文章主要介绍了ASP.NET Core WebAPI实现本地化(单资源文件),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 2020-06-06
c#实现根据网络IP显示地理位置功能示例通常都会有类似 注册IP和最后登录IP这两个的字段来存储用户注册时候的IP地址和最后登录的IP的地址,现在我们就简单的实现一下如标题所示的功能 2013-06-06
asp.net基于替换模版页的形式生成静态页的方法这篇文章主要介绍了asp.net基于替换模版页的形式生成静态页的方法,涉及asp.net模板的设置、变量替换、配置文件设置与读取、以及文件夹与静态文件的创建等技巧,需要的朋友可以参考下 2016-07-07
asp.net 学习之路 项目整体框架简单的搭建最近刚学了些关于asp.net mvc方面的知识,于是了要拿个小项目来练练手,提高下自己的code能力跟思维能力 2012-12-12
ASP.net 动态加载控件时一些问题的总结经常见到有人说在ASP.net中不要使用动态控件,我想主要的原因在于使用动态控件会带来一些问题,在做项目的过程中,我将由动态加载控件引发的总是作了一个小小的总结.
2009-04-04
asp.net 删除项目文件/文件夹IIS重启,Session丢失问题最近在做一个项目,涉及到大量文件中转(先上传到本项目的某个文件夹中,在移动到FTP中),后面发现每次一删除文件之后在做操作都会提示未登录,刚开始以为是WebService Session丢失问题,后面发现缓存也更新了 2011-12-12
Asp.Net Oracle数据的通用操作类Asp.Net连接Oracle数据的通用操作类并且利用它对数据库查询、汇总、更新等操作演示 2009-12-12
ASP.NET MVC3 实现全站重定向的简单方法这篇文章主要介绍了ASP.NET MVC3 实现全站重定向的简单方法,有需要的朋友可以参考一下 2014-01-01

最新评论

本文由 华域联盟 原创撰写:华域联盟 » 发布asp.net core时如何修改ASPNETCORE_ENVIRONMENT环境变量

转载请保留出处和原文链接:https://www.cnhackhy.com/4941.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

上一篇

已经没有了

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部