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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 6354|回复: 0

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

[复制链接]

27

主题

0

回帖

10

积分

新手上路

积分
10
发表于 2021-7-25 20:46:27 | 显示全部楼层 |阅读模式 来自 中国
目录
/ Q4 p8 Z4 H$ D* N0 _
7 z7 q8 D1 _1 d9 G1 A/ [& w9 Z! [
    ) [! d7 U+ C+ V- U
  • 遇到的问题3 h# p4 g9 l1 D( ~. r! k
  • 解决方案
      q# y. k1 @5 p
      / A0 a/ l2 a" g, Z( h
    • 修改 .csproj 文件
      / k% ?/ k; E- d2 S  g! Q' B
    • 在 FolderProfile.pubxml 中添加 EnvironmentName# N+ Y+ J8 u; i2 S2 W
    • dotnet publish 时添加
      : }, W/ H* j- e0 ~0 o" Y  w
    • cmd配置. C" @8 K6 a4 m( w/ y' \
    • web.config 配置
      ( q! e& q( }1 E* e
    3 C9 L9 U: X; q( h
  • 总结
    % m( B6 m" H( Z% L
- v/ N! \+ B/ I3 F- ?) l0 K) N
遇到的问题
) ^+ B5 ]7 H$ x& Q% B, ]. b; e" ?. f. o
当我把 asp.net core web 发布到本地文件时,我发现程序读的是 appsettings.Production.json ,也就说明当前的 ASPNETCORE_ENVIRONMENT = Production。! h" m. p. u1 \5 ~. i$ F
请问如何动态修改 ASPNETCORE_ENVIRONMENT的值,这样的话在 调试 和 发布 阶段都非常灵活了,但我尝试在下面几个地方修改都没有成功。。。
# D$ j# r, S0 q) x2 u+ w
       
    0 @: ~1 U+ V( }' y  E3 {+ }& E
  • windows settings   
    $ Z4 ^  E; @. R3 f! r
  • .pubxml file   
    ; \1 Z9 _' r& _0 U# f. J. y
  • launchSettings.json    % n! a" Y4 J: a4 a  l
  • project.json
    6 @% W. t, B& c2 S5 ^
/ l: Y2 ]) k2 Z$ q8 e
解决方案! {" `" e/ E( _0 o% l
% `- n2 d3 }9 a
有下面几个解决方案。
+ h2 e- Z# {9 i* ?6 k6 [6 [1 @8 O) X# E' F$ o! V' n* }
修改 .csproj 文件( N5 A& N3 g% ~* A/ s3 ?

4 d" |; w- V! p5 B# M
; R! y6 e1 O  i1 K3 m) k% j- R可以在 .csproj 中增加  节点来设置环境变量,当 MSBuild 编译时会根据当前的项目模式为 Deubg 还是 Release 执行相应代码段,最后配置节会进入到 web.config 中。
  1.       Development        Production  
复制代码
在 FolderProfile.pubxml 中添加 EnvironmentName
- ~. L& t! W  S% `$ x6 k

, x+ e8 w6 p7 r$ W$ f( n/ i- Z4 M( x7 {# A' B
可以在 publish profile中添加  节点配置你需要的环境变量,如下代码所示:
  1.       True    Development  
复制代码
9 W) `2 q: ^/ G& _/ J
' Z6 e% `" {% a# C" g6 O. Z3 s
dotnet publish 时添加! b# }9 M- C( J, x1 D
* j5 A- o' c- n, C
* c  I5 H( {. Z$ [* a: i  m& [
在用 dotnet pulish 发布项目时,可以在发布参数中指定 环境变量。
  1. dotnet publish -c Debug -r win-x64 /p:EnvironmentName=Development
复制代码
cmd配置( r2 n/ }% |6 w# ?& ~, Z) J
+ B+ _! G$ |$ L7 ~0 P
Command Line : setx ASPNETCORE_ENVIRONMENT "Development"
& Q& k/ C" }1 I8 H1 |& e9 ZPowerShell :  $Env:ASPNETCORE_ENVIRONMENT = "Development"% g& U+ x( a- H0 v0 ~! [! ^7 A" m
% C7 O+ F& O4 y0 N  V9 Y8 v
web.config 配置, x6 ~9 @- K3 u0 u7 ?

' B* }6 g, S6 \8 R8 Y6 l可以在最后发布好的 web.config 中增加 environmentVariables 节点,如下所示:
  1.                                                 
复制代码
总结6 J, k8 i7 K, k& D$ f( i% O

8 x# x. n4 M' f
) ?7 |, h0 u2 H5 q相信这是很多新人在用 Asp.NET Core 开发项目最后发布时都会遇到的坎,我在实际开发中用的最多的是在机器级配置 ASPNETCORE_ENVIRONMENT ,万万没想到还有这么多的灵活配置方案,不得不服,尤其是那个在 dotnet publish时指定,学习了
, W3 z* X6 s+ n6 H+ c; B& ^来源:http://www.jb51.net/article/209488.htm* `) {+ e' M. o4 o' ~% E4 H
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

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

×

帖子地址: 

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-29 22:37 , Processed in 0.058360 second(s), 23 queries .

Powered by Mxzdjyxk! X3.5

© 2001-2025 Discuz! Team.

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