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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 6446|回复: 0

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

[复制链接]

27

主题

0

回帖

10

积分

新手上路

积分
10
发表于 2021-7-25 20:46:27 | 显示全部楼层 |阅读模式 来自 中国
目录2 K2 p3 V- f+ J  c

5 A7 f$ u& ~! F' m1 D
    1 E3 N7 x$ ^2 y! R4 p
  • 遇到的问题
    * E& m& U+ A: ]+ I' L+ D" v8 R* r- w
  • 解决方案# P9 Q, |5 I8 J; K0 G
      ' p) q. s6 c' P" x) j2 k4 z: ?& h+ g
    • 修改 .csproj 文件7 z' M- J2 y+ {9 D  c3 T
    • 在 FolderProfile.pubxml 中添加 EnvironmentName1 {/ I2 }, \) M! _7 d
    • dotnet publish 时添加
      # T" i, A, r2 a5 o: G/ i7 J
    • cmd配置, W8 R9 @4 L2 u! W
    • web.config 配置
      & l+ U6 V+ t3 _7 b) ~

    6 N- _, e' G2 m' T$ w3 j  ?
  • 总结( I; U5 r: X: O7 E$ k# o

5 s6 T" a6 T8 r, ^2 |/ l遇到的问题0 f. n4 P( F: B
, ^/ b7 \7 T" K- Y
当我把 asp.net core web 发布到本地文件时,我发现程序读的是 appsettings.Production.json ,也就说明当前的 ASPNETCORE_ENVIRONMENT = Production。4 p  M5 b  B2 b( [
请问如何动态修改 ASPNETCORE_ENVIRONMENT的值,这样的话在 调试 和 发布 阶段都非常灵活了,但我尝试在下面几个地方修改都没有成功。。。, f2 d1 K4 i' m0 }
       
    8 ?/ f2 Y/ W& F, H% F
  • windows settings   
    : x  J& g) [6 t9 W, h' G
  • .pubxml file    7 f% |( ~' q  H2 R
  • launchSettings.json    : M* |' K& y5 d# W/ ^) L
  • project.json
    1 a; t: A0 a; C* }+ c
0 W0 e  H7 C/ j- C7 o# Q2 Q
解决方案
5 ]* }6 b: o! R% [; Q2 D: j9 k( s# G" T
有下面几个解决方案。
" R# S' U/ b" k, Z+ B5 s; r; ]; ?3 o# E
修改 .csproj 文件
1 B* R+ T* q& `. \3 ~

% c; W8 U% o( @) S8 y5 c' D+ C" h/ j( C
可以在 .csproj 中增加  节点来设置环境变量,当 MSBuild 编译时会根据当前的项目模式为 Deubg 还是 Release 执行相应代码段,最后配置节会进入到 web.config 中。
  1.       Development        Production  
复制代码
在 FolderProfile.pubxml 中添加 EnvironmentName
2 r8 y" d; @5 B5 T8 z4 D
; l- n5 c; ~" ^- f) p

6 `, M+ X! o: s& b, n可以在 publish profile中添加  节点配置你需要的环境变量,如下代码所示:
  1.       True    Development  
复制代码
, n# X$ [& S9 l; W5 L4 S

+ n( f' [3 x0 P! wdotnet publish 时添加
1 ]( ~! R& A4 ~2 X# |
! R( [: M" b7 P& T

9 V4 {$ }3 R8 m% X* b: G- W" }在用 dotnet pulish 发布项目时,可以在发布参数中指定 环境变量。
  1. dotnet publish -c Debug -r win-x64 /p:EnvironmentName=Development
复制代码
cmd配置2 h4 f: ]0 s. Q5 b

7 K( y8 K9 W- [# M1 V: dCommand Line : setx ASPNETCORE_ENVIRONMENT "Development"2 b" U4 X, w( ]8 e, X& V; t
PowerShell :  $Env:ASPNETCORE_ENVIRONMENT = "Development"( |; s, B0 D5 s5 W! E2 g

  S1 _" O. [' l9 J7 ^web.config 配置
* b/ @3 Q; R/ M0 Z$ c' m; ?- z: J
可以在最后发布好的 web.config 中增加 environmentVariables 节点,如下所示:
  1.                                                 
复制代码
总结7 P- C- U& T7 L. S! n) X9 ^
4 ]3 d( M. @. A

8 C5 {  V$ Q) x- W0 B+ @相信这是很多新人在用 Asp.NET Core 开发项目最后发布时都会遇到的坎,我在实际开发中用的最多的是在机器级配置 ASPNETCORE_ENVIRONMENT ,万万没想到还有这么多的灵活配置方案,不得不服,尤其是那个在 dotnet publish时指定,学习了 : V% X& ~3 A# N- e
来源:http://www.jb51.net/article/209488.htm
) ^, m% f: r# o1 n- D9 n- X免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

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

×

帖子地址: 

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-7-17 16:44 , Processed in 0.040239 second(s), 23 queries .

Powered by Mxzdjyxk! X3.5

© 2001-2026 Discuz! Team.

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