C# 旧版dotnet framework 4.7.1应用程序中核心Api的ConfigurationBuilder
正在尝试创建C# 旧版dotnet framework 4.7.1应用程序中核心Api的ConfigurationBuilder,c#,wpf,.net-core,.net-core-configuration,C#,Wpf,.net Core,.net Core Configuration,正在尝试创建IConfigurationRoottype对象以使用旧版dotnet framework 4.7.1 WPF应用程序配置文件中的Core 2.2 Api myCoreApiController.CoreApiMethod( confirutation); // (IConfigurationRoot configuration) 首先定义一个字典,并使用标识配置设置和值(实际设置)的键加载它。该代码如下所示: var settings = new Dictionary<st
IConfigurationRoot
type对象以使用旧版dotnet framework 4.7.1 WPF应用程序配置文件中的Core 2.2 Api
myCoreApiController.CoreApiMethod( confirutation); // (IConfigurationRoot configuration)
首先定义一个字典,并使用标识配置设置和值(实际设置)的键加载它。该代码如下所示:
var settings = new Dictionary<string, string>
{
{"toDoService:url", "http://..."},
{"toDoService:contractid", "???"}
};
但是,ConfigurationBuilder
也是一个界面。所以我不能创建这样的实例。
然后我尝试实现它并创建自己的方法,但无法覆盖AddInMemoryCollection
静态方法。
因此,上面的解决方案不起作用
请注意,该项目已安装NuGet Microsoft.Extensions.Configuration、Microsoft.Extensions.Configuration.Abstracts
希望有人能分享他们实现这一点的方法。方法返回,它来自
但在代码中,您将内置配置分配给IConfiguration
IConfiguration cfg = cfgBuilder.Build();
据指出,目标方法定义为
CoreApiMethod(IConfigurationRoot configuration);
问题是试图将分配的IConfiguration
变量作为IConfigurationRoot
传递给目标函数
在分配变量时使用适当的类型
var settings = new Dictionary<string, string> {
{"toDoService:url", "http://..."},
{"toDoService:contractid", "???"}
};
IConfigurationRoot configuration = new ConfigurationBuilder()
.AddInMemoryCollection(settings)
.Build();
myCoreApiController.CoreApiMethod(confirutation);
var设置=新字典{
{“toDoService:url”http://..."},
{“toDoService:CONSTRACTID”,“??”}
};
IConfigurationRoot配置=新配置生成器()
.AddInMemoryCollection(设置)
.Build();
myCoreApiController.CoreApiMethod(确认法);
我刚刚遇到了这个“问题”。我的问题是我有:
using System.Configuration;
但我需要的是:
using Microsoft.Extensions.Configuration;
正如我提到的,我们不能创建ConfigurationBuilder的实例。出于这个原因,我想要自定义实现。错误为“无法创建抽象类或接口ConfigurationBuilder的实例”@MetallicSkeleton不是抽象的。您需要编辑帖子并澄清实际问题。
Microsoft.Extensions.Configuration.ConfigurationBuilder
不是一个界面。它是一个带有公共构造函数的类。你有什么问题?
using Microsoft.Extensions.Configuration;