错误 'IConfigurationProvider' 声称它在 'Microsoft.Framework.Configuration.Abstractions' 中定义

Error 'IConfigurationProvider' claims it is defined in 'Microsoft.Framework.Configuration.Abstractions'

我将 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();
    }
}

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

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

我在 project.json 中添加了下一个依赖项:

"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);

在我的例子中它有效