我将现有的2.2项目升级到3.0。我将新的Program / Startup代码从新的3.0项目复制到了现有的2.2项目。确实有效,但是下面的IsDevelopment()
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
引起了这样的错误:
“ IWebHostEnvironment”不包含“ IsDevelopment”的定义,最佳扩展方法重载“ HostingEnvironmentExtensions.IsDevelopment(IHostingEnvironment)”要求接收器的类型为“ IHostingEnvironment”
同一行未引起新创建的3.0项目。我需要修改/添加到从2.2升级的项目中吗?
答案 0 :(得分:52)
新的IHostEnvironment
,IsDevelopment
,IsProduction
等扩展方法位于Microsoft.Extensions.Hosting
名称空间中,可能需要将其添加到您的应用程序中。
参考:
答案 1 :(得分:6)
正如Rena所说,<mat-toolbar color="primary">
<app-page-content>
<a routerLink="/home" mat-button><i class="material-icons" style="margin-bottom: 3px">home</i> Home</a>
<a routerLink="/blog" mat-button><i class="material-icons" style="margin-bottom: 3px">dashboard</i> Blog</a>
<a routerLink="/about" mat-button><i class="material-icons" style="margin-bottom: 3px">person</i> About</a>
<a routerLink="/contact" mat-button><i class="material-icons" style="margin-bottom: 3px">mail</i> Contact</a>
<span class="flex-spacer"></span>
<a routerLink="signin" mat-button><span class="mi mi-person"></span></a>
</app-page-content>
</mat-toolbar>
已移至IsDevelopment
界面中
Microsoft.Extensions.Hosting命名空间
我只需要添加
IHostEnvironment
然后我可以像以前一样使用using Microsoft.Extensions.Hosting;
。
答案 2 :(得分:0)
输入扩展名:
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());
}
}