|
|
目录
' v; a7 T) Q: M+ ^
) i! ^% u0 {6 j" d8 s. t( \/ f O) r, M# x" @: V; Q
- 遇到的问题) Y {$ P$ t7 m, p0 r
- 解决方案9 }4 a8 c9 G0 p
7 P) _) M i j* E+ Z4 E9 f3 P
- 修改 .csproj 文件
' L# A" E6 q4 x. A/ ]. _1 p - 在 FolderProfile.pubxml 中添加 EnvironmentName4 l# n! ?* f' g e
- dotnet publish 时添加9 w1 g8 @2 K" U& z$ m1 k$ I7 \
- cmd配置
, i6 H; k1 Y/ c, j F - web.config 配置& y/ E- L- A$ y, o! v$ ]& l; \. U1 I
( E- c. @* H. P- _( ~2 O$ K - 总结
' c1 M4 D% K" B( T 7 ^7 j+ ]1 V: @" c$ E: ?
遇到的问题
+ u! j& w& Y/ O+ l. y
+ J0 ~& V! E0 `1 J+ v& }4 D0 {当我把 asp.net core web 发布到本地文件时,我发现程序读的是 appsettings.Production.json ,也就说明当前的 ASPNETCORE_ENVIRONMENT = Production。$ \1 n& }; W' {
请问如何动态修改 ASPNETCORE_ENVIRONMENT的值,这样的话在 调试 和 发布 阶段都非常灵活了,但我尝试在下面几个地方修改都没有成功。。。
* L% ]& R. A" e# k
+ T5 n4 N* F6 P, b- windows settings " C- k! K3 e8 x7 A$ @7 ^
- .pubxml file * ]6 ~' A8 D# t. k
- launchSettings.json 6 j) G# c6 R% ?6 L: h. F. }- b$ m U1 C. F
- project.json
0 z8 I: J& j9 r! }
1 {* ~) J8 |9 S- ^) ^解决方案5 l' ?( a( q, `7 Z4 {
" d" k( X, `+ s! W, d; c# t' S有下面几个解决方案。
& n: c/ i* J( _( |: t, A) k8 n
/ w. W5 X6 S) U, [% Z, {2 G3 e; P2 S修改 .csproj 文件
# u8 t8 ]* P+ w9 Z1 A) b+ i! G% S5 o3 T( o( C+ O3 ]7 Q
! m" W/ u, M+ p$ k0 A; B可以在 .csproj 中增加 节点来设置环境变量,当 MSBuild 编译时会根据当前的项目模式为 Deubg 还是 Release 执行相应代码段,最后配置节会进入到 web.config 中。在 FolderProfile.pubxml 中添加 EnvironmentName, m: i2 ?+ |2 p# ]5 h8 @5 L# I
) g& o( T9 w( i4 U- E# ?+ |
* F+ p9 i. s' ]+ A Q# k可以在 publish profile中添加 节点配置你需要的环境变量,如下代码所示:7 p- A+ y# G5 C7 t2 n, w3 ~
; F& A. l. c+ r7 h" Z' y) j
dotnet publish 时添加
/ g. u9 M ~# X: k E2 D. ~8 t* N# {7 |: w7 p# z9 a
$ n( i' X2 p2 _2 ?' \在用 dotnet pulish 发布项目时,可以在发布参数中指定 环境变量。- dotnet publish -c Debug -r win-x64 /p:EnvironmentName=Development
复制代码 cmd配置) O2 \% ^& R4 M0 }/ J. U) P
1 f* _+ A* L- _7 Z/ {" B8 TCommand Line : setx ASPNETCORE_ENVIRONMENT "Development"
. x3 c* Z6 U8 vPowerShell : $Env:ASPNETCORE_ENVIRONMENT = "Development"
* N7 K: q3 e% ^/ F! c8 f0 R' h# |0 x2 e$ n
web.config 配置
* a! p7 j2 E2 v2 h% s( z/ V% G- k+ g5 n1 q( @( x9 l# x
可以在最后发布好的 web.config 中增加 environmentVariables 节点,如下所示:总结, H) G7 s, T, N% J9 [
- o1 @& I- y. i, @: `' D* J
8 } m: \& ?( t# r4 q3 z$ m7 t相信这是很多新人在用 Asp.NET Core 开发项目最后发布时都会遇到的坎,我在实际开发中用的最多的是在机器级配置 ASPNETCORE_ENVIRONMENT ,万万没想到还有这么多的灵活配置方案,不得不服,尤其是那个在 dotnet publish时指定,学习了 - Y/ N9 [( A+ Z" ]5 n% A
来源:http://www.jb51.net/article/209488.htm5 f# O% R' {; m) `
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|