Core 2.0のConfigurationBuilderでベースパスを設定するにはどうすればよいですか。
私はググってこの質問、これをMicrosoftのドキュメントから、そして2.0のドキュメントをオンラインで見つけましたが、彼らは1.0.0-beta8Microsoft.Extension.Configuration
からのバージョンを使用しているようです。
読みたいですappsettings.json
。Core 2.0でこれを行う新しい方法はありますか?
using System;
using System.IO;
using Microsoft.Extensions.Configuration;
namespace ConsoleApp2
{
class Program
{
public static IConfigurationRoot Configuration { get; set; }
static void Main(string[] args)
{
var builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory()) // <== compile failing here
.AddJsonFile("appsettings.json");
Configuration = builder.Build();
Console.WriteLine(Configuration.GetConnectionString("con"));
Console.WriteLine("Press a key...");
Console.ReadKey();
}
}
}
appsetting.json
{
"ConnectionStrings": {
"con": "connection string"
}
}
更新:セットで以下に示すようにMicrosoft.Extensions.Configuration.FileExtensionsを
追加することに加えて、拡張機能を取得するためにMicrosoft.Extensions.Configuration.Jsonも追加する必要がありました。AddJsonFile
Microsoft.Extensions.Configuration.Json
はに依存しているMicrosoft.Extensions.Configuration.FileExtensions
ため、前者が必要です。
AddJsonFile("appsettings.json")
注意してください、メソッドはあなたのホスティング環境を認識していません!.AddJsonFile($"appsettings.{_hostingEnvironment.EnvironmentName}.json")
代わりに使用してください。:D