我有一个.NET Core 1.0.0控制台应用程序和两个环境。我需要能够使用appSettings.dev.json
和appSettings.test.json
根据环境变量,我在运行时设置。对于ASP.NET核心Web应用程序,通过依赖注入和IHOSTINGINDENVIRNTMENT和环境名称Env而言,这似乎非常直接。可变,但是我应该如何将其连接到控制台应用程序(除了编写自己的自定义代码外Microsoft.Framework.Configuration.EnvironmentVariables
)?
谢谢。
答案
这就是我们在我们的.netcore
控制台应用程序。这里的关键是包括权利dependencies 在您的项目中(可能不是全部,请根据您的需求进行检查 ) 和copy to output appsetting.json作为您的一部分buildoptions
{
"buildOptions": {
"emitEntryPoint": true,
"copyToOutput": {
"include": [
"appsettings*.json",
"App*.config"
]
}
},
using Microsoft.Extensions.Configuration;
namespace MyApp
{
public static void Main(string[] args)
{
var environmentName = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");
var builder = new ConfigurationBuilder()
.AddJsonFile($"appsettings.json", true, true)
.AddJsonFile($"appsettings.{environmentName}.json", true, true)
.AddEnvironmentVariables();
var configuration = builder.Build();
var myConnString= configuration.GetConnectionString("SQLConn");
}
}