ASP.NET Core 2.2 -> 3.0 peningkatan. env.IsDevelopment () tidak ditemukan


95

Saya meningkatkan proyek 2.2 yang ada menjadi 3.0. Saya menyalin kode baru untuk Program / Startup dari proyek 3.0 baru ke proyek 2.2 saya yang sudah ada. Itu berhasil, tetapi di IsDevelopment()bawah ini:

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
   if (env.IsDevelopment())
   {
      app.UseDeveloperExceptionPage();
   }
}

Menghasilkan kesalahan ini:

'IWebHostEnvironment' tidak berisi definisi untuk 'IsDevelopment' dan metode ekstensi terbaik membebani 'HostingEnvironmentExtensions.IsDevelopment (IHostingEnvironment)' memerlukan penerima jenis 'IHostingEnvironment'

Baris yang sama tidak menyebabkan proyek 3.0 yang baru dibuat. Apa yang saya perlukan untuk mengubah / menambah proyek yang ditingkatkan dari 2.2?

Jawaban:


158

Baru IHostEnvironment, IsDevelopment, IsProductiondll metode penyuluhan berada di Microsoft.Extensions.Hostingnamespace yang mungkin perlu ditambahkan ke aplikasi Anda.

Referensi:

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


21
Tidak perlu menginstal paket Microsoft.Extensions.Hosting, cukup tambahkan pernyataan menggunakan seperti yang disebutkan dalam posting @ Greg.
Lukas

jadi kita membutuhkan Microsoft.Extensions.Hosting dan menggunakan Microsoft.AspNetCore.Hosting; pada saat yang sama ... Ingin tahu bagaimana cara kerjanya? Nama kelas dari satu paket tetapi metodenya dari yang lain?
Macindows

Sebenarnya, asp.net core 3.0 tidak memiliki masalah seperti itu sekarang, sudah diperbaiki.
Rena

67

Seperti yang dikatakan Rena IsDevelopmenttelah dipindahkan ke IHostEnvironmentInterface di Microsoft.Extensions.Hosting Namespace

Saya baru saja menambahkan

using Microsoft.Extensions.Hosting;

dan kemudian saya bisa menggunakan IsDevelopment()seperti sebelumnya.


Terima kasih banyak, jawaban ini membantu saya menyelesaikan pengecualian. Memigrasi inti asp.net 23.0 ke inti 3.1. cukup tambahkan perpustakaan ini dan semuanya bekerja dengan tajam. Billiant!
PatsonLeaner
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.