小编典典

如何在 Core 2.0 的 ConfigurationBuilder 中设置 BasePath

all

如何在 Core 2.0 的 ConfigurationBuilder 中设置基本路径。

我在 Google 上搜索并找到了这个问题,这个问题来自
Microsoft 文档和2.0在线文档,但他们似乎使用的是Microsoft.Extension.Configurationfrom
1.0.0-beta8的版本。

我想读书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扩展名。


阅读 67

收藏
2022-07-27

共1个答案

小编典典

SetBasePath扩展方法在Config.FileExtensions中定义。

您需要添加对Microsoft.Extensions.Configuration.FileExtensions包的引用。

要解决AddJsonFile,请添加对Microsoft.Extensions.Configuration.Json包的引用。

2022-07-27