0

好吧,这不应该这么难,我有一个类库包(VS2015 的新版本)。由于我在解决方案的其余部分中引用了 .Net 4.6,因此我从该库的 project.json 文件中完全删除了 asp.Net5.4。我还添加了 Configuration.Json 包和 OptionsModel 包,以及任何依赖项。我正在尝试遵循我在 SO 上找到的一些片段,但似乎没有一个能让我到任何地方。

MikesDotNetting 对此有一篇很好的文章,但它仅适用于 mvc6 项目或类库,您可以在其中引用对我不起作用的 MVC6。 http://www.mikesdotnetting.com/article/284/asp-net-5-configuration

 public class Startup
{
    public IConfiguration Configuration { get; set; }

    public Startup(IHostingEnvironment env, IApplicationEnvironment appEnv)
    {
        var builder = new ConfigurationBuilder(appEnv.ApplicationBasePath)
            .AddJsonFile("config.json");

        Configuration = builder.Build();
    }
}

我在许多示例中都看到了这一点,但 ConfigurationBuilder 采用 IConfigurationProviders 数组,而 appEnv.ApplicationBasePath 是一个字符串。所以自然这在这里行不通。

{
  "Data": {
    "DefaultConnection": {
      "ConnectionString": "Server=    (localdb)\\MSSQLLocalDB;Database=_CHANGE_ME;Trusted_Connection=True;"
    },
    "AppSetting": {
      "SMSProvider": "betterSms",
      "SMSAccountUser": "sakjfbhkdfbsdkfbksdfnbkdln",
      "SMSAccountSecret": "dswkjgfhszdkfhdskfhdk",
      "SMSPhoneFrom": "+15555555555"
    }
  }
}

我只是想建立一个简单的访问机制来访问我的 config.json 文件中包含的许多 appsettings。

4

1 回答 1

0

您可以访问应用程序中的配置变量,例如:

var connString = Startup.Configuration.Get("Data:DefaultConnection:ConnectionString"); 
于 2015-12-15T21:15:23.020 回答