[asp.net-core] ASP.NET Core 2.2-> 3.0 업그레이드. env.IsDevelopment ()를 찾을 수 없습니다.

기존 2.2 프로젝트를 3.0으로 업그레이드했습니다. 새 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에서 업그레이드 한 프로젝트를 수정 / 추가하려면 무엇이 필요합니까?



답변

새로운 IHostEnvironment, IsDevelopment, IsProduction등의 확장 방법은에있는 Microsoft.Extensions.Hosting앱에 추가 할 필요가 있습니다 네임 스페이스.

참고:

https://docs.microsoft.com/en-us/aspnet/core/migration/22-to-30?view=aspnetcore-3.0&tabs=visual-studio#migrate-startupconfigure

https://github.com/aspnet/AspNetCore/issues/7749


답변

Rena가 말했듯 IsDevelopmentIHostEnvironmentMicrosoft.Extensions.Hosting 네임 스페이스의 Interface 로 이동되었습니다.

나는 단지 추가해야했다

using Microsoft.Extensions.Hosting;

그리고 IsDevelopment()전처럼 사용할 수 있습니다 .


답변