|
|
目录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 中。在 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 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 发布项目时,可以在发布参数中指定 环境变量。- 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 节点,如下所示:总结
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
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|