.net core 5.0 之使用多环境
例如:想区分开发环境和生产环境不同的配置文件(比如说本地测试数据库和正式的数据库等等),这个时候就会根据不同的环境配置不同的文件,也可以用多个startup来分离不同的环境,这里只是分离了配置文件。
当然个人觉得如果在Linux上面部署直接通过docker挂载配置文件会比较好,这里只是记录一下有这种方式可以达到效果
1. 引入需要的配置文件(添加新建项=》应用设置文件)
2. Program配置
这里是根据当前的环境的名称动态替换了引用的appsettings..json
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | public static IHostBuilder CreateHostBuilder( string [] args) => Host.CreateDefaultBuilder(args) .ConfigureAppConfiguration((hostingContext, config) => { config.Sources.Clear(); var env = hostingContext.HostingEnvironment; config.AddJsonFile( "appsettings.json" , optional: true , reloadOnChange: true ) .AddJsonFile($ "appsettings.{env.EnvironmentName}.json" , optional: true , reloadOnChange: true ); config.AddEnvironmentVariables(); if (args != null ) { config.AddCommandLine(args); } }) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup<Startup>(); }); |
3. 修改launchSettings.json的ASPNETCORE_ENVIRONMENT来更改调试时对应不同的环境名称,到了这步已经可以满足调试的需求了
4. 如果需要部署在windows上面,修改打包好的webconfig文件,添加环境变量
1 2 3 | <environmentVariables> <environmentVariable name= "ASPNETCORE_ENVIRONMENT" value= "test" /> </environmentVariables> |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具