如何使用 config.json 为 Visual Studio 2015/DNX 项目设置特定于环境的变量?
How can I use config.json to set environment-specific variables for a Visual Studio 2015/DNX project?
我有一个 Visual Studio 2015 解决方案,由针对 DNX 框架的项目组成。我一直在本地工作,但我计划部署到 Azure 环境 (dev/test/prod)。自然地,该解决方案根据环境使用不同的数据库连接字符串和其他变量。过去我使用云配置文件来设置这些变量,用 CloudConfigurationManager
.
读取它们
我了解到我需要使用 config.json 文件。我的 Startup.cs 文件中有以下代码:
public Startup(IHostingEnvironment env, IApplicationEnvironment app)
{
Configuration = new ConfigurationBuilder(app.ApplicationBasePath)
.AddJsonFile("config.json")
.AddJsonFile($"config.{env.EnvironmentName}.json", optional: true)
.AddEnvironmentVariables()
.Build();
Configuration.Set("ASPNET_ENV", "Development");
}
我的 config.json 文件目前是一个空对象 { }
。如何向该文件添加变量(语法?),以及如何从代码访问它们?
你可以使用普通的旧 JSON。例如,这里是定义连接字符串的方法:
{
"Foo": "Bar"
}
要访问配置值,您可以:
config.Get("username")
或:
config["username"];
您可以在此处找到更多信息:http://docs.asp.net/en/latest/fundamentals/configuration.html
请注意启动代码中的这一行:
.AddJsonFile($"config.{env.EnvironmentName}.json", optional: true)
这会添加一个额外的 JSON 配置文件,该文件的命名取决于您的环境名称。因此,向您的项目添加一个名为:
的新文件
config.<environment-name>.json
并在那里设置详细信息,例如:
{
"AppSettings": {
"SomeVariable": "Blah"
},
"Data": {
"YourConnectionString": {
"ConnectionString": "<connection string here>"
}
}
}
为了阅读配置,这里有一个很好的答案:Using IConfiguration globally in mvc6
我有一个 Visual Studio 2015 解决方案,由针对 DNX 框架的项目组成。我一直在本地工作,但我计划部署到 Azure 环境 (dev/test/prod)。自然地,该解决方案根据环境使用不同的数据库连接字符串和其他变量。过去我使用云配置文件来设置这些变量,用 CloudConfigurationManager
.
我了解到我需要使用 config.json 文件。我的 Startup.cs 文件中有以下代码:
public Startup(IHostingEnvironment env, IApplicationEnvironment app)
{
Configuration = new ConfigurationBuilder(app.ApplicationBasePath)
.AddJsonFile("config.json")
.AddJsonFile($"config.{env.EnvironmentName}.json", optional: true)
.AddEnvironmentVariables()
.Build();
Configuration.Set("ASPNET_ENV", "Development");
}
我的 config.json 文件目前是一个空对象 { }
。如何向该文件添加变量(语法?),以及如何从代码访问它们?
你可以使用普通的旧 JSON。例如,这里是定义连接字符串的方法:
{
"Foo": "Bar"
}
要访问配置值,您可以:
config.Get("username")
或:
config["username"];
您可以在此处找到更多信息:http://docs.asp.net/en/latest/fundamentals/configuration.html
请注意启动代码中的这一行:
.AddJsonFile($"config.{env.EnvironmentName}.json", optional: true)
这会添加一个额外的 JSON 配置文件,该文件的命名取决于您的环境名称。因此,向您的项目添加一个名为:
的新文件config.<environment-name>.json
并在那里设置详细信息,例如:
{
"AppSettings": {
"SomeVariable": "Blah"
},
"Data": {
"YourConnectionString": {
"ConnectionString": "<connection string here>"
}
}
}
为了阅读配置,这里有一个很好的答案:Using IConfiguration globally in mvc6