京东6.18大促主会场领京享红包更优惠

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 6326|回复: 0

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

[复制链接]

27

主题

0

回帖

10

积分

新手上路

积分
10
发表于 2021-7-25 20:46:27 | 显示全部楼层 |阅读模式 来自 中国
目录
( m( ]1 u" i( @& J0 n6 s0 f; E& c0 G  G+ d; O9 y/ {6 x, N
    0 ?0 W/ }! S& X9 z7 X5 r
  • 遇到的问题
    " ^) Z+ W( I4 {0 G' D: c5 G
  • 解决方案. ?* d* V% M& R4 f

      8 U& K2 m- V7 L& e5 a4 n* y
    • 修改 .csproj 文件
      ' U  f, ]+ J  v% `. m
    • 在 FolderProfile.pubxml 中添加 EnvironmentName
      9 {2 l4 O. I8 _9 d8 L! O; q
    • dotnet publish 时添加
      . U% B1 w, Z& x. R" d% \
    • cmd配置
      & W6 E1 Y7 I1 _
    • web.config 配置1 Y& ^1 e8 d; h3 t+ V

    7 h2 V8 X7 a) S2 \) L: C
  • 总结
    * _, A" `) |. L3 t/ Z

! N7 Z! z  G) ]: E" n" n- b4 J遇到的问题
- M( t- J( ~- R8 w
. c. w2 j* w# O$ v/ s6 u% ^当我把 asp.net core web 发布到本地文件时,我发现程序读的是 appsettings.Production.json ,也就说明当前的 ASPNETCORE_ENVIRONMENT = Production。7 K; m8 g- H1 W3 f1 m
请问如何动态修改 ASPNETCORE_ENVIRONMENT的值,这样的话在 调试 和 发布 阶段都非常灵活了,但我尝试在下面几个地方修改都没有成功。。。9 S5 F1 b: T& O
       
    $ {% `' z$ k/ P4 `: I8 e5 A! R7 I! `  A( q
  • windows settings   
    ( R- k8 @4 @6 O$ E1 k3 O
  • .pubxml file   
    ) y2 S( X* Y' u
  • launchSettings.json    . }$ B( F4 ?) P: j, Y9 X
  • project.json% j/ q9 X) F8 W; Z
3 d; r+ h+ g8 K7 X& k  q4 O# n% l# M
解决方案
- [* A: i  [* r2 u
' U( l2 r( C; S" S6 z3 N" L有下面几个解决方案。
: o' ~3 i, {5 ~2 [
. v. h! y& i0 Y修改 .csproj 文件
  U, T' }! R2 M6 d! \& Q1 N

' F1 C1 \' y: S4 e/ i2 B- j. V* T* \2 R
可以在 .csproj 中增加  节点来设置环境变量,当 MSBuild 编译时会根据当前的项目模式为 Deubg 还是 Release 执行相应代码段,最后配置节会进入到 web.config 中。
  1.       Development        Production  
复制代码
在 FolderProfile.pubxml 中添加 EnvironmentName9 s4 \2 l; X& C$ e
  ~/ l9 ?% `/ \( O% w# n

0 C# y* e9 w; V! Y可以在 publish profile中添加  节点配置你需要的环境变量,如下代码所示:
  1.       True    Development  
复制代码

' u& ^4 a3 |6 ]  o: N' Q# ]6 W, O9 R/ x7 \
dotnet publish 时添加0 T: D, D/ r. o) c; _1 S
9 A- d) k2 E" G& ]
1 q+ H) `! w7 ~1 P+ @3 K1 _
在用 dotnet pulish 发布项目时,可以在发布参数中指定 环境变量。
  1. dotnet publish -c Debug -r win-x64 /p:EnvironmentName=Development
复制代码
cmd配置
, q( T4 t. E  t, E7 x3 c. _6 q) _1 {! D+ g3 B% |
Command Line : setx ASPNETCORE_ENVIRONMENT "Development"* I& F) I- |% q6 n: {4 b4 B, t
PowerShell :  $Env:ASPNETCORE_ENVIRONMENT = "Development"# G/ m7 @. [! R0 I  l/ L2 J0 U

  V- b4 d0 k( T! y, W7 W/ _2 [2 a+ iweb.config 配置
5 F+ P: ]4 D6 ?% R+ ?  A' _( B# N
可以在最后发布好的 web.config 中增加 environmentVariables 节点,如下所示:
  1.                                                 
复制代码
总结7 T9 R1 w9 Z7 {' }2 }6 `' I6 y" }# _2 u

' }' F4 D( b2 ^! a# T+ s# d: w! A$ j2 E" A/ [
相信这是很多新人在用 Asp.NET Core 开发项目最后发布时都会遇到的坎,我在实际开发中用的最多的是在机器级配置 ASPNETCORE_ENVIRONMENT ,万万没想到还有这么多的灵活配置方案,不得不服,尤其是那个在 dotnet publish时指定,学习了
! j. k3 ]' n- o# e( o来源:http://www.jb51.net/article/209488.htm
5 @. Q7 H; S! |7 g# w  ]免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

帖子地址: 

梦想之都-俊月星空 优酷自频道欢迎您 http://i.youku.com/zhaojun917
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /6 下一条

QQ|手机版|小黑屋|梦想之都-俊月星空 ( 粤ICP备18056059号 )|网站地图

GMT+8, 2025-8-28 20:03 , Processed in 0.084183 second(s), 24 queries .

Powered by Mxzdjyxk! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表