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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 6323|回复: 0

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

[复制链接]

27

主题

0

回帖

10

积分

新手上路

积分
10
发表于 2021-7-25 20:46:27 | 显示全部楼层 |阅读模式 来自 中国
目录4 }$ k, V* }' ]! o0 z& G- C

& l; [+ F( P! h( p1 s% |$ |

    ; m7 z! s  {8 u+ C; h, O8 Y! A
  • 遇到的问题
    8 U* H( F7 s4 `  w1 w
  • 解决方案. v' w2 l4 Y, G% z9 D
      0 j2 f0 i0 }# ^! q( \- P2 B
    • 修改 .csproj 文件
      ; _& B" {( E( D9 t# F  i
    • 在 FolderProfile.pubxml 中添加 EnvironmentName4 b  u5 O% q; p1 l
    • dotnet publish 时添加
      8 |* y6 Q5 \* m; I
    • cmd配置
      9 }% E  J4 L5 l/ i1 `. ^- K1 a; x
    • web.config 配置
      ( `' Y6 Q7 C: W7 `" R0 a
      T, A1 L) a" j9 C
  • 总结" Y4 a1 P6 k4 ]9 S

6 t# I6 g* J# h遇到的问题/ t5 ?" B( ^+ }8 H

  B  N" L: d' Z# U当我把 asp.net core web 发布到本地文件时,我发现程序读的是 appsettings.Production.json ,也就说明当前的 ASPNETCORE_ENVIRONMENT = Production。
/ ~( R6 x2 h7 o  x: }请问如何动态修改 ASPNETCORE_ENVIRONMENT的值,这样的话在 调试 和 发布 阶段都非常灵活了,但我尝试在下面几个地方修改都没有成功。。。
/ Q* r9 b* o+ A; ^& X
       
    . y: F' T+ U) S* O5 }
  • windows settings   
    3 m& n" e2 i1 `/ F
  • .pubxml file   
    0 f: I; Z, e/ [. h
  • launchSettings.json    % Q# h/ ^3 O2 ^9 c2 _* k
  • project.json0 X: n) d# b8 L+ u8 y
* a/ n: ~# T9 Y) F: _
解决方案
! B7 D* c) M0 \- k
4 {* w6 ^% g) U5 ^' \有下面几个解决方案。
! P8 }6 c8 C* T, Z: q. g! j) D* b8 ?% W
5 S# Y! t$ f6 O: |, z) Y& G8 e修改 .csproj 文件7 i% U, h- c0 ]8 J8 R5 s
" }9 _( U; H2 q8 |& Q% V

/ s$ g4 g: P# t7 s6 F4 h: J8 n' _可以在 .csproj 中增加  节点来设置环境变量,当 MSBuild 编译时会根据当前的项目模式为 Deubg 还是 Release 执行相应代码段,最后配置节会进入到 web.config 中。
  1.       Development        Production  
复制代码
在 FolderProfile.pubxml 中添加 EnvironmentName
; c/ h5 A* F! u2 |5 _/ ^1 g
# X& E+ l' S5 s, e
' @: r( ]+ A6 k
可以在 publish profile中添加  节点配置你需要的环境变量,如下代码所示:
  1.       True    Development  
复制代码
% M5 I" K! T! e( f

6 z) f. D6 |7 E% D8 I. W+ A. ~3 N1 Edotnet publish 时添加5 d7 p7 f7 o6 h5 K+ E& P# {
4 H7 ]1 o, k: B3 w/ S( P9 H

3 N# d$ p; g  w3 O0 A  w5 `6 r- y在用 dotnet pulish 发布项目时,可以在发布参数中指定 环境变量。
  1. dotnet publish -c Debug -r win-x64 /p:EnvironmentName=Development
复制代码
cmd配置
# @6 d3 w0 I3 D' Q* m
* M% r& B$ ?! ~% d5 W9 QCommand Line : setx ASPNETCORE_ENVIRONMENT "Development"
2 ~: D: k4 m0 vPowerShell :  $Env:ASPNETCORE_ENVIRONMENT = "Development"3 J, ?  n) b" X$ i* M) H; ]
- o$ z/ Z2 }8 i9 Y( I- x" M% H0 E1 N
web.config 配置
/ {* B. r9 L' z7 J- m! Z$ [  X4 }
" I1 k* y2 p3 f/ r9 D+ l可以在最后发布好的 web.config 中增加 environmentVariables 节点,如下所示:
  1.                                                 
复制代码
总结
% \! a0 v/ m( h) D4 s7 X/ X1 W# x  d( O7 v' i

( p+ O3 |$ w: X* v( \相信这是很多新人在用 Asp.NET Core 开发项目最后发布时都会遇到的坎,我在实际开发中用的最多的是在机器级配置 ASPNETCORE_ENVIRONMENT ,万万没想到还有这么多的灵活配置方案,不得不服,尤其是那个在 dotnet publish时指定,学习了 , C* M1 ]2 m% Z7 N! h9 A# @2 I
来源:http://www.jb51.net/article/209488.htm1 v. }* T1 M3 @
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

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

×

帖子地址: 

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

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /6 下一条

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

GMT+8, 2025-8-28 14:08 , Processed in 0.043054 second(s), 24 queries .

Powered by Mxzdjyxk! X3.5

© 2001-2025 Discuz! Team.

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