Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Can';由于缺少配置生成器,无法在没有DI的情况下读取appsettings.json_C#_Asp.net Core_.net Core_Appsettings_.net Core 2.0 - Fatal编程技术网

C# Can';由于缺少配置生成器,无法在没有DI的情况下读取appsettings.json

C# Can';由于缺少配置生成器,无法在没有DI的情况下读取appsettings.json,c#,asp.net-core,.net-core,appsettings,.net-core-2.0,C#,Asp.net Core,.net Core,Appsettings,.net Core 2.0,我正在尝试读取appsettings.json,我不想使用DI。我只是想访问该文件。我是按照李女士的建议来做的 using System.IO; using Microsoft.Extensions.Configuration; class Program { public static IConfigurationRoot Configuration { get; set; } static void Main(string[] args) { IConfigurati

我正在尝试读取appsettings.json,我不想使用DI。我只是想访问该文件。我是按照李女士的建议来做的

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”(是否缺少using指令或程序集引用?)

我发现的所有例子都是以同样的方式设置的。甚至连政府都说,它被允许在那里。我不知道如何继续下去


如果有什么意义的话,我正在使用.NET Core 2.0。

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

所以需要将包添加到项目中。一旦所有包成功恢复,它就可以完美地工作。
如果您已经添加了它们,另一个错误可能是在编译该点之前阻止生成。

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

所以需要将包添加到项目中。一旦所有包成功恢复,它就可以完美地工作。 如果您已经添加了它们,另一个错误可能是在编译该点之前阻止生成。

我也遇到了类似的问题。 我已经参考了ConfigurationBuilder,并在同一解决方案的另一个项目中工作

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

我查看了NuGet安装的解决方案包

果然,Microsoft.Extensions.Configuration.Json是为工作项目安装的,但不是新项目

为新项目安装了它,瞧,我也有类似的东西。 我已经参考了ConfigurationBuilder,并在同一解决方案的另一个项目中工作

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

我查看了NuGet安装的解决方案包

果然,Microsoft.Extensions.Configuration.Json是为工作项目安装的,但不是新项目


为新项目安装了它,瞧。

这很奇怪,我创建了相同的控制台应用程序,没有问题。您创建了一个新的空.net Core 2.0控制台应用程序?您添加了正确的程序包吗?没有ASP.NET核心元包,您需要自己引用这些内容。问题与DI完全无关,因为配置一开始就不需要它,而且使用了新的关键字,即使在ASP:NET中也是如此Core@kloarubeek我也无法解释。您能确认是否安装了包
Microsoft.Extensions.Configuration.Json
?我很好奇,因为当我安装它()时,正如下面的答案所建议的,我让它工作了。请检查解决方案资源管理器中的Dependences/NuGet(由于某些原因,它不会显示在我的NuGet解决方案资源管理器中)。@Tseng我可能是MS Help me项目模板的受害者,使我不知道我需要一些东西。很高兴发现这一点,谢谢。您建议
ConfigurationBuilder
使用的确切软件包是什么?我希望它与
IConfigurationBuilder
相同,正如我在问题中提到的那样,它确实有效。当您查找包含特定类和/或扩展方法的包时,请使用Microsoft/.NET Core团队搜索它。i、 这很奇怪,我创建了相同的控制台应用程序,没有问题。您创建了一个新的空.net Core 2.0控制台应用程序?您添加了正确的程序包吗?没有ASP.NET核心元包,您需要自己引用这些内容。问题与DI完全无关,因为配置一开始就不需要它,而且使用了新的关键字,即使在ASP:NET中也是如此Core@kloarubeek我也无法解释。您能确认是否安装了包
Microsoft.Extensions.Configuration.Json
?我很好奇,因为当我安装它()时,正如下面的答案所建议的,我让它工作了。请检查解决方案资源管理器中的Dependences/NuGet(由于某些原因,它不会显示在我的NuGet解决方案资源管理器中)。@Tseng我可能是MS Help me项目模板的受害者,使我不知道我需要一些东西。很高兴发现这一点,谢谢。您建议
ConfigurationBuilder
使用的确切软件包是什么?我希望它与
IConfigurationBuilder
相同,正如我在问题中提到的那样,它确实有效。当您查找包含特定类和/或扩展方法的包时,请使用Microsoft/.NET Core团队搜索它。即