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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 6441|回复: 0

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

[复制链接]

27

主题

0

回帖

10

积分

新手上路

积分
10
发表于 2021-7-25 20:46:27 | 显示全部楼层 |阅读模式 来自 中国
目录8 ~# \2 Z8 v. Z: H2 M/ i
. v( `. G; E! D- ~
    ' K4 p# p4 I* w; G6 h* e# J
  • 遇到的问题: |) [" s) C+ g" O% e
  • 解决方案7 x* S4 o! X. h# y

      : V5 H7 P! U+ I8 P2 ^
    • 修改 .csproj 文件
      5 E( l  l; _4 d! }5 S. t: E  h- M! x
    • 在 FolderProfile.pubxml 中添加 EnvironmentName3 U- ]( u) d: V* m( m6 ~8 l8 I" J
    • dotnet publish 时添加
      + l3 Q' F1 q. Q+ B( E
    • cmd配置. U3 j; z/ T) ]: m- _
    • web.config 配置" |% P8 U$ w0 z. e5 Z' T8 f- e

    8 z8 O- y- D6 E& t1 J; d
  • 总结
    7 R2 ]- Z4 a/ F4 x" a% R* M  g
; R5 M/ r+ m$ u4 O1 Y/ W
遇到的问题
; R) M+ s$ f+ g  D! f4 d3 L5 D
  h2 l, R, o& J0 a+ A# l当我把 asp.net core web 发布到本地文件时,我发现程序读的是 appsettings.Production.json ,也就说明当前的 ASPNETCORE_ENVIRONMENT = Production。
; X* f% e8 V0 J5 e& L" `1 H请问如何动态修改 ASPNETCORE_ENVIRONMENT的值,这样的话在 调试 和 发布 阶段都非常灵活了,但我尝试在下面几个地方修改都没有成功。。。" a9 r2 m# J% ?4 w3 J/ H! ?
        + n+ r) P# G$ @$ _9 N3 b6 l9 A
  • windows settings    # V% D' n0 G; b/ \  ~" ]- S
  • .pubxml file    3 \- g. V$ @! K" ~/ z# r1 [. S
  • launchSettings.json   
    ) l; C% u6 `4 t' v
  • project.json
      Z& ^4 |1 C# g9 x8 Q" ^- S
, S  g& {- p; g) F
解决方案* w+ L1 e3 v2 j  f0 `

! y  w, W. g! V0 D+ @有下面几个解决方案。- _& k% s2 R$ e+ {% D

( [* v9 l. S9 a3 ~) J4 ^0 ?0 H! R修改 .csproj 文件
2 q1 z3 B2 R7 q1 \( Z

! F% M* w: ^  ^# N7 ]( ~2 ^
- a- b9 m' t& u1 r: h. f. u可以在 .csproj 中增加  节点来设置环境变量,当 MSBuild 编译时会根据当前的项目模式为 Deubg 还是 Release 执行相应代码段,最后配置节会进入到 web.config 中。
  1.       Development        Production  
复制代码
在 FolderProfile.pubxml 中添加 EnvironmentName
: g( d5 C) \3 h6 h% h3 U
: v: y) ?% M& M' R0 [9 G, X
5 z9 i% t/ ]! [( E$ ]
可以在 publish profile中添加  节点配置你需要的环境变量,如下代码所示:
  1.       True    Development  
复制代码
1 c2 R0 R+ x! d! V/ E7 [

6 x" p3 ^4 K# n+ P+ d; V! Pdotnet publish 时添加
1 u. w+ r  h7 S/ p+ [+ F1 Z
( d! q5 G8 i- f3 g" v
5 {4 d% S  O7 A5 h- U4 F
在用 dotnet pulish 发布项目时,可以在发布参数中指定 环境变量。
  1. dotnet publish -c Debug -r win-x64 /p:EnvironmentName=Development
复制代码
cmd配置) p- J; I$ N) j, X4 \
: c* E7 m% [" \3 Y7 r4 x
Command Line : setx ASPNETCORE_ENVIRONMENT "Development"
5 ]" l" W6 K, z% C/ fPowerShell :  $Env:ASPNETCORE_ENVIRONMENT = "Development"
4 N6 q* S. A+ z/ I, p+ |
& F$ Y0 u% C/ i! ]web.config 配置
! G/ K( A# x- O. ~* M6 t5 c& e  ^% l7 v1 m
可以在最后发布好的 web.config 中增加 environmentVariables 节点,如下所示:
  1.                                                 
复制代码
总结
4 \. R$ s" q* C8 W& _6 E8 Z' @6 F" S" v9 o
% {$ D; C( R& ], g# O4 N
相信这是很多新人在用 Asp.NET Core 开发项目最后发布时都会遇到的坎,我在实际开发中用的最多的是在机器级配置 ASPNETCORE_ENVIRONMENT ,万万没想到还有这么多的灵活配置方案,不得不服,尤其是那个在 dotnet publish时指定,学习了 * k& v; H/ C' w) @2 ^8 e
来源:http://www.jb51.net/article/209488.htm, C2 G' f1 b8 d$ ^* W
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

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

×

帖子地址: 

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

使用道具 举报

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

本版积分规则

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

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

Powered by Mxzdjyxk! X3.5

© 2001-2026 Discuz! Team.

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