C# SetBasePath在.NET Core 5下的ConfigurationBuilder中不存在
根据.NETCore5的文档,有一种方法,它被广泛应用于许多博客(,等等)。没有人认为这是一个奇怪的抓到你之类的东西。但是,当我尝试下面的语法时,它被标记为红色,并声称不存在C# SetBasePath在.NET Core 5下的ConfigurationBuilder中不存在,c#,.net-core,console-application,.net-5,C#,.net Core,Console Application,.net 5,根据.NETCore5的文档,有一种方法,它被广泛应用于许多博客(,等等)。没有人认为这是一个奇怪的抓到你之类的东西。但是,当我尝试下面的语法时,它被标记为红色,并声称不存在 using System; using Microsoft.Extensions.Configuration; static void Main(string[] args) { string path = AppDomain.CurrentDomain.BaseDirectory; IConfigurationB
using System;
using Microsoft.Extensions.Configuration;
static void Main(string[] args)
{
string path = AppDomain.CurrentDomain.BaseDirectory;
IConfigurationBuilder builder = new ConfigurationBuilder();
builder.SetBasePath(path);
}
我不知道为什么会发生这种情况,也不知道该怎么办
复制步骤:
“ConfigurationBuilder”不包含“SetBasePath”的定义,并且找不到接受“ConfigurationBuilder”类型的第一个参数的可访问扩展方法“SetBasePath”(是否缺少using指令或程序集引用?)
据我所知,我已经准备好了所有的先决条件。请记住,多个类型可以通过为单个类型提供方法。因此,
SetBasePath
从来不是IConfigurationBuilder
界面上的方法
多个程序集可以向同一名称空间提供类型,文档称定义SetBasePath
扩展方法的类型位于:
FileConfigurationExtensions类定义命名空间:
Microsoft.Extensions.Configuration程序集:
Microsoft.Extensions.Configuration.FileExtensions.dll
您可以轻松地验证它是否不存在于依赖项中。所以你错过了一个NuGet软件包。事实证明,这一点很容易找到:似乎正是问题所在。让我困惑的是,我以前没有发现这个问题。看来,在我这么做之前,应该还有其他一些可怜的笨蛋,而不是考虑安装额外的软件包。嗯,我想我是这个问题的始作俑者。