ASP.NET Core 2.2 -> 3.0 へのアップグレード。env.IsDevelopment() が見つかりません 質問する

ASP.NET Core 2.2 -> 3.0 へのアップグレード。env.IsDevelopment() が見つかりません 質問する

既存の 2.2 プロジェクトを 3.0 にアップグレードしました。新しい 3.0 プロジェクトから Program/Startup の新しいコードを既存の 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 からアップグレードしたプロジェクトに何を変更/追加する必要がありますか?

ベストアンサー1

新しいIHostEnvironmentIsDevelopmentなどIsProductionの拡張メソッドはMicrosoft.Extensions.Hosting、アプリに追加する必要がある可能性のある名前空間にあります。

参照:

https://learn.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

おすすめ記事