これはそれほど難しいことではありません。私はクラス ライブラリ パッケージ (VS2015 の新しいバージョン) を持っています。ソリューションの残りの部分で .Net 4.6 を参照しているため、このライブラリの project.json ファイルから asp.Net5.4 を完全に削除しました。Configuration.Json パッケージと OptionsModel パッケージ、および依存関係も追加しました。SOで見つけたスニペットのいくつかをたどろうとしていますが、どこにも行けないようです。
MikesDotNetting にはこれに関する優れた記事がありますが、mvc6 プロジェクトまたは MVC6 を参照できるクラス ライブラリでのみ機能しますが、これは私にとっては機能しません。 http://www.micesdotnetting.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 は IConfigurationProvider の配列を取り、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 にアクセスするための単純なアクセス メカニズムを構築しようとしています。