如何在调试 .Net core 2.x 应用程序时切换配置?
How to switch configuration while debugging .Net core 2.x app?
一直在寻找向我的 dot net core 2.0 web 添加配置的正确方法 API。
到目前为止我所做的是:
已添加 appsetteings.Development.json、appsetteings.Production.json
在program.cs:
public static IWebHost BuildWebHost(string[] args)
{
return WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.ConfigureAppConfiguration((hostContext, config) =>
{
var env = hostContext.HostingEnvironment;
config.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true, reloadOnChange: true);
})
.Build();
}
在startup.cs
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.Configure<dynamic>(Configuration);
}
问题是每当我调试我的代码时,它总是从 appsettings.Development.json
.
获取设置
我还发现,无论我选择在哪个环境中进行调试,hostContext.HostingEnvironment.EnvironmentName
总是作为开发出现。
项目属性的设置导致在调试期间使用开发环境设置。
打开项目属性
导航到调试页面
在环境变量部分,您将看到:
ASPNETCORE_ENVIRONMENT |发展
如果您删除此标志并调试您的应用程序,它应该 运行 没有开发设置。
可以找到官方文档here
一直在寻找向我的 dot net core 2.0 web 添加配置的正确方法 API。
到目前为止我所做的是:
已添加 appsetteings.Development.json、appsetteings.Production.json
在program.cs:
public static IWebHost BuildWebHost(string[] args) { return WebHost.CreateDefaultBuilder(args) .UseStartup<Startup>() .ConfigureAppConfiguration((hostContext, config) => { var env = hostContext.HostingEnvironment; config.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true) .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true, reloadOnChange: true); }) .Build(); }
在startup.cs
public void ConfigureServices(IServiceCollection services) { services.AddMvc(); services.Configure<dynamic>(Configuration); }
问题是每当我调试我的代码时,它总是从 appsettings.Development.json
.
我还发现,无论我选择在哪个环境中进行调试,hostContext.HostingEnvironment.EnvironmentName
总是作为开发出现。
项目属性的设置导致在调试期间使用开发环境设置。
打开项目属性 导航到调试页面 在环境变量部分,您将看到:
ASPNETCORE_ENVIRONMENT |发展
如果您删除此标志并调试您的应用程序,它应该 运行 没有开发设置。
可以找到官方文档here