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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 6442|回复: 0

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

[复制链接]

27

主题

0

回帖

10

积分

新手上路

积分
10
发表于 2021-7-25 20:46:27 | 显示全部楼层 |阅读模式 来自 中国
目录
* e% A8 b% v, ^
$ A3 K- ^2 }2 ~

    8 V& I/ z3 p6 M3 `' [* Q& L
  • 遇到的问题, M6 ^: H! @/ S( m9 i( P) }' K- `
  • 解决方案
    7 p: ], F; U" D; t' U# ]2 f% b: p
      ! b+ Q& X/ c2 m0 b
    • 修改 .csproj 文件5 `# l5 H8 z. ^2 z: _8 ~/ R
    • 在 FolderProfile.pubxml 中添加 EnvironmentName/ c+ o1 J" f* w% o5 B
    • dotnet publish 时添加5 v) h, Q' B/ ?: G0 T2 @9 ?
    • cmd配置. @! P! D! \' x  Q/ }% ?+ C* s
    • web.config 配置# a5 Q$ u/ V; q$ G1 ]$ k- P

      S' N1 {% Q' U  \
  • 总结
    2 S$ k% b7 I2 C
: Z$ s  J4 N3 J! l: F! R. ?
遇到的问题
& q' Q9 ], X" l3 @" m  c
" {6 |# ^: {. y. h. G6 [# h当我把 asp.net core web 发布到本地文件时,我发现程序读的是 appsettings.Production.json ,也就说明当前的 ASPNETCORE_ENVIRONMENT = Production。  N* V8 [5 E7 q: t  a4 |+ m+ @
请问如何动态修改 ASPNETCORE_ENVIRONMENT的值,这样的话在 调试 和 发布 阶段都非常灵活了,但我尝试在下面几个地方修改都没有成功。。。
6 p$ B* r# I2 r# ]& U* a- S, ]- r
       
    # w6 J- P( p) T: c. m# W1 N- n
  • windows settings    # ]! P& b  Q9 U1 i9 m* B
  • .pubxml file    : V$ C0 C8 o7 O
  • launchSettings.json    $ Y% n) X8 B& }
  • project.json
    3 v8 u0 i' a7 A9 G& M1 x

! p9 a% Q& x9 \' G4 q- h- i解决方案3 C& Z4 @* r) _  N. ?# w

6 ^5 u* ^! L4 \有下面几个解决方案。
% u4 S3 T! c0 P$ D6 W9 ?
1 w# S9 F" {* f6 E: f3 s修改 .csproj 文件
9 ]. c0 X9 A! J. t9 i

' s: d4 \2 q, g0 C, n# B1 b. J1 f0 U. m5 A; p/ \
可以在 .csproj 中增加  节点来设置环境变量,当 MSBuild 编译时会根据当前的项目模式为 Deubg 还是 Release 执行相应代码段,最后配置节会进入到 web.config 中。
  1.       Development        Production  
复制代码
在 FolderProfile.pubxml 中添加 EnvironmentName1 z: H- J# u) n* F- j9 x
8 g% ^4 r4 U- d6 e1 K
5 _7 u' r. ?% @8 K- ~% c* ^
可以在 publish profile中添加  节点配置你需要的环境变量,如下代码所示:
  1.       True    Development  
复制代码
" t& E- P% q( [2 }/ o
6 N4 v1 \  x- o  p7 v
dotnet publish 时添加
0 ~; p- F: z  v- T4 @; w
" V7 ?" z& N$ c5 `: |% [$ H3 {
3 W+ N; X" Q  F; y: \
在用 dotnet pulish 发布项目时,可以在发布参数中指定 环境变量。
  1. dotnet publish -c Debug -r win-x64 /p:EnvironmentName=Development
复制代码
cmd配置7 O  _; e6 r" V' m4 n9 X' k
( t0 B# s/ Z9 }- r! `5 b3 r; n! H, `) i- z
Command Line : setx ASPNETCORE_ENVIRONMENT "Development"% W" b5 H7 u6 o8 Q
PowerShell :  $Env:ASPNETCORE_ENVIRONMENT = "Development", Z: ~- ]3 l+ I# T+ Z7 R, r: L/ `, ~5 F
3 n, K* C$ I! i, l; b# \# S  B6 Y
web.config 配置9 d1 G6 n  s7 V

/ ?6 h9 n6 i: o$ u. D可以在最后发布好的 web.config 中增加 environmentVariables 节点,如下所示:
  1.                                                 
复制代码
总结2 {  ?# \, E8 |$ X, C3 ^& N

, D+ e/ h0 o* u$ X9 G! W
  t6 b4 d  u' d" C相信这是很多新人在用 Asp.NET Core 开发项目最后发布时都会遇到的坎,我在实际开发中用的最多的是在机器级配置 ASPNETCORE_ENVIRONMENT ,万万没想到还有这么多的灵活配置方案,不得不服,尤其是那个在 dotnet publish时指定,学习了 9 F3 R+ i. U1 ]# p3 Z0 c
来源:http://www.jb51.net/article/209488.htm
2 ~7 H$ l* \, }5 r免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

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

×

帖子地址: 

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-6-19 05:43 , Processed in 0.045653 second(s), 24 queries .

Powered by Mxzdjyxk! X3.5

© 2001-2026 Discuz! Team.

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