错误& # 39;IConfigurationProvider& # 39;声明它在'Microsoft.Fra

本文关键字:Microsoft Fra IConfigurationProvider 错误 声明 | 更新日期: 2023-09-27 18:18:14

我更新了我的ASP。. NET 5项目从Beta 7到Beta 8,我得到以下错误信息。

Error CS7069: Reference to type 'IConfigurationProvider' claims it is defined in 'Microsoft.Framework.Configuration.Abstractions', but it could not be found

知道发生了什么变化吗?下面是我正在使用的

public class Startup
{
    public IConfigurationRoot Configuration { get; set; }
    public Startup(IHostingEnvironment env, IApplicationEnvironment appEnv)
    {
        this.Configuration = new ConfigurationBuilder() <-- ERROR
            .SetBasePath(appEnv.ApplicationBasePath)
            .AddJsonFile("config.json")
            .AddJsonFile($"config.{env.EnvironmentName}.json", optional: true)
            .AddEnvironmentVariables()
            .Build();
    }
}

错误& # 39;IConfigurationProvider& # 39;声明它在'Microsoft.Fra

我已经在我的project.json中添加了next dependencies:

"Microsoft.Framework.Configuration": "1.0.0-beta8",
"Microsoft.Framework.Configuration.Abstractions": "1.0.0-beta8",
"Microsoft.Framework.Configuration.Json": "1.0.0-beta8"

并将Startup.cs中创建ConfigurationBuilder的代码更改为:

var builder = new ConfigurationBuilder()
    .SetBasePath(appEnv.ApplicationBasePath)
    .AddJsonFile("config.json")
    .AddJsonFile($"config.{env.EnvironmentName}.json", optional: true);

在我的例子中可以

在beta8中,ConfigurationBuilder引用已经从Microsoft.Configuration.Abstractions中移出,现在位于Microsoft.Framework.Configuration.Abstractions中。

在Startup.cs文件中更新任何引用Microsoft.Configuration.AbstractionsMicrosoft.Framework.Configuration.Abstractions的命名空间语句,并验证它是否在project.json中的依赖项中列出。