ASP.NET CORE 2.0 发布到IIS,IIS如何设置环境变量来区分生产环境和测试环境
0.前言
因为给前端的测试环境是windows,所以要设置windows上的环境变量,如果上Linux就没有这篇文章了,所以大家不要在意为什么core不放在linux上。
1.网上的解决方案
a 方式:通过 setx 命令设置环境变量参数,文章地址:https://www.cnblogs.com/xishuai/p/asp-net-core-set-hosting-environment-with-publish.html
命令行:
>setx ASPNETCORE_ENVIRONMENT "Development"
SUCCESS: Specified value was saved.
结论:无效,如果是直接使用dotnet run 命令是有效的,但是部署在IIS上,设置无效。
b 方式:通过修改发布后的webconfig,文章地址:https://www.cnblogs.com/hulk-/p/5947467.html
<configuration> <system.webServer> <handlers> <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified"/> </handlers> <aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false"> <environmentVariables> <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" /> </environmentVariables> </aspNetCore> </system.webServer> </configuration>
结论:有效,但是每次发布都需要改一次webconfig,非常麻烦!
c 方式:这个是最好的解决方案,国内竟然没有人写出来,百度了半天,都找不到,后来在stackoverflow找到的方案,地址:https://stackoverflow.com/questions/31049152/publish-to-iis-setting-environment-variable#
详细操作步骤:
1:打开IIS,选择本机,找到管理-配置编辑器
2.节选择:system.webServer/aspNetCore, 找到,点击右边编辑项
3.点击添加,设置ASPNETCORE_ENVIRONMENT:Development
4.最后,重启项目,设置完成,整个服务器上的所有项目都是测试环境了。
分类:
记录篇
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构