新 C# class 库项目中的 json 文件中的 appsettings
appsettings in json file in new C# class library project
嗯,这不应该这么难,我有一个 Class 库包(VS2015 的新版本)。由于我在解决方案的其余部分引用了 .Net 4.6,因此我从该库的 project.json 文件中完全删除了 asp.Net5.4。我还添加了 Configuration.Json 包和 OptionsModel 包,以及任何依赖项。我正在尝试遵循我在 SO 上找到的一些片段,但 none 似乎让我无所适从。
MikesDotNetting 有一篇关于此的好文章,但它仅适用于 mvc6 项目或 class 库,您可以在其中引用对我不起作用的 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 文件中包含的许多应用程序设置。
您可以在您的应用中访问配置变量,例如:
var connString = Startup.Configuration.Get("Data:DefaultConnection:ConnectionString");
嗯,这不应该这么难,我有一个 Class 库包(VS2015 的新版本)。由于我在解决方案的其余部分引用了 .Net 4.6,因此我从该库的 project.json 文件中完全删除了 asp.Net5.4。我还添加了 Configuration.Json 包和 OptionsModel 包,以及任何依赖项。我正在尝试遵循我在 SO 上找到的一些片段,但 none 似乎让我无所适从。
MikesDotNetting 有一篇关于此的好文章,但它仅适用于 mvc6 项目或 class 库,您可以在其中引用对我不起作用的 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 文件中包含的许多应用程序设置。
您可以在您的应用中访问配置变量,例如:
var connString = Startup.Configuration.Get("Data:DefaultConnection:ConnectionString");