由于缺少配置构建器

时间:2017-09-09 20:11:54

标签: c# asp.net-core .net-core appsettings .net-core-2.0

我试图阅读 appsettings.json 并且我不想使用DI。我只想访问该文件。我按照MS建议的simple configuration跟踪。

using System.IO;
using Microsoft.Extensions.Configuration;

class Program
{
  public static IConfigurationRoot Configuration { get; set; }

  static void Main(string[] args)
  {
    IConfigurationBuilder builder = new ConfigurationBuilder()
      .SetBasePath(Directory.GetCurrentDirectory())
      .AddJsonFile("appsettings.json");

    Configuration = builder.Build();
  }
}

当我指定对Microsoft.Extensions.Configuration的引用除了一个Configuration Builder实例创建时,类从红色突出显示变为绿色。它会产生以下错误。

  

错误CS0246类型或命名空间名称' ConfigurationBuilder'找不到(你错过了使用指令或汇编引用吗?)

我发现的所有示例都以相同的方式设置。即使是docs for Configuration Builder,也说它已经过时了。我不知道如何继续。

我使用的是.NET Core 2.0,如果它有任何意义的话。

2 个答案:

答案 0 :(得分:5)

AddJsonFile方法位于 Microsoft.Extensions.Configuration.Json 包和Microsoft.Extensions.Configuration命名空间中。

因此需要将Microsoft.Extensions.Configuration.Json包添加到project.Once所有包都成功恢复后才能完美运行。 如果您已经添加了它们,则可能会在编译该点之前阻止构建。

答案 1 :(得分:0)

我有类似的事情。 我已经引用了ConfigurationBuilder并在同一个解决方案的另一个项目中工作。

我将ConfigurationBuilder代码复制/粘贴到新项目中,并遇到了与您相同的问题。

我查看了为该解决方案安装的NuGet软件包。

可以肯定的是,为正在运行的项目安装了Microsoft.Extensions.Configuration.Json,但没有为新项目安装。

已将其安装到新项目和版本中。