C# Can';由于缺少配置生成器,无法在没有DI的情况下读取appsettings.json
我正在尝试读取appsettings.json,我不想使用DI。我只是想访问该文件。我是按照李女士的建议来做的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
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团队搜索它。即