Pio*_*r P 7 c# config appsettings .net-core asp.net-core
在我的 asp.net core 3.1 控制台应用程序中。在主类中我有这样的代码:
class Program
{
static void Main(string[] args)
{
var builder = new ConfigurationBuilder();
BuildConfig(builder);
var host = Host.CreateDefaultBuilder()
.ConfigureServices((context, services) =>
{
services.AddTransient<StartService>();
})
.Build();
var svc = ActivatorUtilities.CreateInstance<StartService>(host.Services);
svc.Run();
}
static void BuildConfig(IConfigurationBuilder builder)
{
builder.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddJsonFile($"appsettings.{Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") ?? "Development"}.json", optional: true)
.AddEnvironmentVariables();
}
}
Run Code Online (Sandbox Code Playgroud)
和这样的配置文件(只有值不同):
我的应用程序不断从 appsettings.json 获取值。为了从 appsettings.Developement.json 获取值,需要更改什么?
我也这样尝试过,但也没成功:
static void BuildConfig(IConfigurationBuilder builder)
{
builder.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddJsonFile("appsettings.Development.json", optional: true)
.AddEnvironmentVariables();
}
Run Code Online (Sandbox Code Playgroud)
小智 8
我的控制台应用程序使用默认配置提供程序时遇到了同样的问题。原因是不正确的环境变量,如屏幕截图所示 - ASPNETCORE_ENVIRONMENT。我通过将其替换为 DOTNET_ENVIRONMENT 来修复它:
对于.Net 6.0
添加环境变量DOTNET_ENVIRONMENT=Development
重新启动 Visual Studio 2022。
归档时间: |
|
查看次数: |
7510 次 |
最近记录: |