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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 6448|回复: 0

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

[复制链接]

27

主题

0

回帖

10

积分

新手上路

积分
10
发表于 2021-7-25 20:46:27 | 显示全部楼层 |阅读模式 来自 中国
目录3 i0 T8 a/ W: x. {8 d+ h# b3 O+ |6 z( H

, A9 }! {2 l) O+ P' d" A* F# U

    ! p1 Q; U3 m% ~9 V2 w. G# w
  • 遇到的问题
    " p) r; g, K! x# ]' Z
  • 解决方案
    ' d+ |$ i/ [% R3 F

      5 K& A& ~! v* U- L) D( C; H" B
    • 修改 .csproj 文件; @+ S) O! W; l) q7 n6 e
    • 在 FolderProfile.pubxml 中添加 EnvironmentName
      , Y* P' l$ e  f! H
    • dotnet publish 时添加
      9 {' o6 m. ~& x: N9 M
    • cmd配置
      4 I+ I) c; {8 L2 v$ y* {0 R
    • web.config 配置/ t) O4 U" l9 W7 S
    0 w3 r, S7 y& E1 b7 t7 f' _1 M$ E3 i
  • 总结
    , Y8 O  {7 W" D1 k& i- w

  K1 h# Z. k' b, m" N+ C' N0 v* K$ ]遇到的问题" ]4 `4 L6 E0 M' M5 R
* t; k4 t! B: ^" G0 L# W: S
当我把 asp.net core web 发布到本地文件时,我发现程序读的是 appsettings.Production.json ,也就说明当前的 ASPNETCORE_ENVIRONMENT = Production。6 L! N- T: s8 E! c
请问如何动态修改 ASPNETCORE_ENVIRONMENT的值,这样的话在 调试 和 发布 阶段都非常灵活了,但我尝试在下面几个地方修改都没有成功。。。
- J! n$ [$ _7 G0 l& i7 R4 j) p: V
       
    4 g' @9 f! O5 p% d/ C$ J5 b
  • windows settings   
    8 \- H# p% D$ A5 m( k
  • .pubxml file   
    . |# a* A+ G; p' N8 U1 Q
  • launchSettings.json   
    ) B9 ~, j0 T) I$ `, l
  • project.json" C- I2 a% ?: U4 m
: \$ m* K5 |6 g% v  q
解决方案
* s" \+ D6 t! e
" i& R, c' d" Q3 n6 j, S3 T% d有下面几个解决方案。' i0 S2 ]) b" Y  q$ V7 Y, I6 ^3 O
- U) J1 D% r3 a4 _8 r# @
修改 .csproj 文件
& ]" c! V3 Y3 e3 u# y  G; c( A
; r' z1 {+ A, ?+ r/ D

+ T8 R# w  l/ N6 Z- a可以在 .csproj 中增加  节点来设置环境变量,当 MSBuild 编译时会根据当前的项目模式为 Deubg 还是 Release 执行相应代码段,最后配置节会进入到 web.config 中。
  1.       Development        Production  
复制代码
在 FolderProfile.pubxml 中添加 EnvironmentName0 Z3 f; D$ u. A% y" L, w/ _

, L, }3 K# W7 s. w* x+ O& [, Z4 ~" k1 P: k
可以在 publish profile中添加  节点配置你需要的环境变量,如下代码所示:
  1.       True    Development  
复制代码

  h. w. i5 z9 A" w
4 Y7 p- }) {% ~dotnet publish 时添加4 {3 t4 Y$ {7 p- f0 R7 [

* J- z9 j  Y, n$ N3 N8 G& S* x% A2 ~  d' q: t4 s, }( q* |
在用 dotnet pulish 发布项目时,可以在发布参数中指定 环境变量。
  1. dotnet publish -c Debug -r win-x64 /p:EnvironmentName=Development
复制代码
cmd配置
5 M0 }# K9 Y% @9 Q
- V  ?+ J7 P6 l5 ~& O' yCommand Line : setx ASPNETCORE_ENVIRONMENT "Development"
) p" i0 ]- O9 I$ k# k( m8 aPowerShell :  $Env:ASPNETCORE_ENVIRONMENT = "Development"
4 F  @% L5 H: z6 c7 \# U; z7 n/ Z6 K: _
web.config 配置
( l$ _1 h& A7 p9 k: S$ c' @& V# X& E9 K3 Y7 T! b
可以在最后发布好的 web.config 中增加 environmentVariables 节点,如下所示:
  1.                                                 
复制代码
总结$ A% K, q; h* v  ~: b3 m
1 L1 k5 l7 b' Z8 A0 v+ e* Q/ y

3 m/ q) r' t  K3 a+ K9 i8 ^% q相信这是很多新人在用 Asp.NET Core 开发项目最后发布时都会遇到的坎,我在实际开发中用的最多的是在机器级配置 ASPNETCORE_ENVIRONMENT ,万万没想到还有这么多的灵活配置方案,不得不服,尤其是那个在 dotnet publish时指定,学习了 # B3 p( [. l, p8 i) X) Y* _
来源:http://www.jb51.net/article/209488.htm% f, E: B! e0 a5 o" R
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

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

×

帖子地址: 

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-7-17 17:49 , Processed in 0.037372 second(s), 24 queries .

Powered by Mxzdjyxk! X3.5

© 2001-2026 Discuz! Team.

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