1. ホーム
  2. c#

[解決済み] Core 2.0のConfigurationBuilderでSetBasePathを設定する方法

2022-04-16 17:16:58

質問

Core 2.0のConfigurationBuilderでベースパスを設定するにはどうしたらよいですか?

ググってみると これ の質問をします。 これ をMicrosoft docsから、そして 2.0 を使用しているようです。 Microsoft.Extension.Configuration から 1.0.0-ベータ8 .

を読みたい 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"
  }
}

UPDATEです。 を追加したほか Microsoft.Extensions.Configuration.FileExtensions で示すように 設定 を追加する必要もありました。 Microsoft.Extensions.Configuration.Json(マイクロソフト・エクステンションズ・コンフィギュレーション・ジェイソン)。 を取得するために AddJsonFile という拡張子があります。

解決方法は?

その SetBasePath の拡張メソッドが定義されています。 Config.FileExtensions .

への参照を追加する必要があります。 Microsoft.Extensions.Configuration.FileExtensions パッケージを使用します。

解決するには AddJsonFile への参照を追加します。 Microsoft.Extensions.Configuration.Json パッケージを使用します。