如何使用config.为Visual Studio 2015/DNX项目设置环境特定的变量

本文关键字:环境 设置 项目 变量 DNX config 何使用 Visual 2015 Studio | 更新日期: 2023-09-27 18:08:34

我有一个Visual Studio 2015解决方案,由针对DNX框架的项目组成。我一直在本地工作,但我计划部署到Azure环境(开发/测试/生产)。当然,解决方案根据环境使用不同的数据库连接字符串和其他变量。在过去,我使用云配置文件来设置这些变量,使用CloudConfigurationManager .

读取它们。

我明白我需要使用一个配置。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");
}

我的配置。json文件当前为空对象{ }。如何向该文件添加变量(语法?),以及如何从代码中访问它们?

如何使用config.为Visual Studio 2015/DNX项目设置环境特定的变量

在你的启动代码中注意这一行:

.AddJsonFile($"config.{env.EnvironmentName}.json", optional: true)

这将添加一个额外的JSON配置文件,该文件的命名取决于您的环境名称。因此,在项目中添加一个名为

的新文件
config.<environment-name>.json

并在其中设置详细信息,例如:

{
  "AppSettings": {
    "SomeVariable": "Blah"
  },
  "Data": {
    "YourConnectionString": {
      "ConnectionString": "<connection string here>"
    }
  }
}

对于阅读配置,这里有一个很好的答案:在mvc6

中全局使用IConfiguration

您可以使用普通的旧JSON。例如,下面是如何定义连接字符串:

{
  "Foo": "Bar"
}

要访问配置值,可以这样做:

config.Get("username")

或:

config["username"];

您可以在这里找到更多信息:http://docs.asp.net/en/latest/fundamentals/configuration.html