我试图阅读 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,如果它有任何意义的话。
答案 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,但没有为新项目安装。
已将其安装到新项目和版本中。