ASP.NET Core 2.2 -> 3.0 升级。 env.IsDevelopment() 未找到
ASP.NET Core 2.2 -> 3.0 upgrade. env.IsDevelopment() not found
我将现有的 2.2 项目升级到 3.0。我将 Program/Startup 的新代码从一个新的 3.0 项目复制到我现有的 2.2 项目中。它有效,但下面的 IsDevelopment()
:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
}
导致此错误:
'IWebHostEnvironment' does not contain a definition for 'IsDevelopment' and the best extension method overload 'HostingEnvironmentExtensions.IsDevelopment(IHostingEnvironment)' requires a receiver of type 'IHostingEnvironment'
同一行没有导致新创建的3.0项目。 modify/add 从 2.2 升级的项目需要什么?
新的 IHostEnvironment
、IsDevelopment
、IsProduction
等扩展方法位于 Microsoft.Extensions.Hosting
命名空间中,可能需要将其添加到您的应用中。
参考:
正如 Rena 所说 IsDevelopment
已移至 IHostEnvironment
中的界面
Microsoft.Extensions.Hosting 命名空间
我只需要添加
using Microsoft.Extensions.Hosting;
然后我可以像以前一样使用 IsDevelopment()
。
扩展名:
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
public static class HostingEnvironmentExtensions
{
public static IConfigurationRoot GetAppConfiguration(this IWebHostEnvironment env)
{
return AppConfigurations.Get(env.ContentRootPath, env.EnvironmentName, env.IsDevelopment());
}
}
我将现有的 2.2 项目升级到 3.0。我将 Program/Startup 的新代码从一个新的 3.0 项目复制到我现有的 2.2 项目中。它有效,但下面的 IsDevelopment()
:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
}
导致此错误:
'IWebHostEnvironment' does not contain a definition for 'IsDevelopment' and the best extension method overload 'HostingEnvironmentExtensions.IsDevelopment(IHostingEnvironment)' requires a receiver of type 'IHostingEnvironment'
同一行没有导致新创建的3.0项目。 modify/add 从 2.2 升级的项目需要什么?
新的 IHostEnvironment
、IsDevelopment
、IsProduction
等扩展方法位于 Microsoft.Extensions.Hosting
命名空间中,可能需要将其添加到您的应用中。
参考:
正如 Rena 所说 IsDevelopment
已移至 IHostEnvironment
中的界面
Microsoft.Extensions.Hosting 命名空间
我只需要添加
using Microsoft.Extensions.Hosting;
然后我可以像以前一样使用 IsDevelopment()
。
扩展名:
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
public static class HostingEnvironmentExtensions
{
public static IConfigurationRoot GetAppConfiguration(this IWebHostEnvironment env)
{
return AppConfigurations.Get(env.ContentRootPath, env.EnvironmentName, env.IsDevelopment());
}
}