Saya perlu memeriksa ConfigureServices
metode apakah nama lingkungan hosting saat ini adalah 'Pengembangan'.
Jadi menggunakan IHostingEnvironment.IsDevelopment()
metode mungkin baik-baik saja bagi saya, tetapi tidak seperti dalam metode Konfigurasi, saya tidak punya IHostingEnvironment env
.
asp.net-core
Set
sumber
sumber
ConfigureServices
tidak mungkin?ConfigureServices
, tidak mungkin karena framework tidak mendukung Injeksi Ketergantungan untuk metode tertentu seperti yang dilakukannya di area lain (mungkin karena Anda menggunakan metode ini untuk mengonfigurasi injeksi ketergantungan). Pengaturan di tingkat konstruktor seperti yang dijelaskan Joe harus mengatasi masalah tersebut.Disalin di sini dari pertanyaan yang ditandai sebagai duplikat dari pertanyaan ini dan dihapus . Penghargaan untuk a-ctor .
Jika Anda ingin akses
IHostingEnvironment
diConfigureServices
Anda akan harus menyuntikkan melalui constructor dan menyimpannya untuk akses kemudian diConfigureServices
:sumber
environment
huruf kecil, sedangkan properti tampaknyaEnvironment
.IHostingEnvironment
itu hanya usang.Net Core 3.0
? (Saya sedang mengerjakan 'tes dibawa pulang' yang memanggilservices.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
ke dalamConfigureServices()
metode dan IHostingEnvironment berfungsi dengan baik.IHostingEnvironment
tidak digunakan lagi di Inti 3.1harus melakukan trik ...
Kemudian referensi di mana saja dengan
_env.IsDevelopment()
dll ...sumber