错误 '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.Abstractions
到 Microsoft.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);
在我的例子中它有效
我将 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.Abstractions
到 Microsoft.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);
在我的例子中它有效