ASP.NET Core 2.2 -> 3.0 अपग्रेड। env.IsDevelopment () नहीं मिला


102

मैंने मौजूदा 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 से अपग्रेड की गई परियोजना में मुझे क्या संशोधन / जोड़ना होगा?

जवाबों:


165

नई 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


21
Microsoft.Extensions.Hosting पैकेज को स्थापित करने की आवश्यकता नहीं है, बस @ ग्रेग की पोस्ट में उल्लिखित कथन का उपयोग करें।
ल्यूक

तो हमें Microsoft.Extensions.Hosting और Microsoft.AspNetCore.Hosting का उपयोग करने की आवश्यकता है; उसी समय ... आश्चर्य है कि कैसे काम करता है? एक पैकेज से क्लास का नाम लेकिन दूसरे से इसका तरीका?
मैक विंडो

दरअसल, asp.net core 3.0 में अभी ऐसा कोई इश्यू नहीं है। इसे ठीक कर दिया गया है।
Rena

70

जैसा कि Rena कहता IsDevelopmentहै IHostEnvironmentकि Microsoft में इंटरफ़ेस में स्थानांतरित कर दिया गया है

मुझे बस जोड़ना था

using Microsoft.Extensions.Hosting;

और फिर मैं IsDevelopment()पहले की तरह इस्तेमाल कर सकता था।


एक लाख धन्यवाद, इस जवाब ने मुझे अपवाद को हल करने में मदद की। Asp.net core 23.0 से core 3.1 तक पलायन कर रहा था। बस इस पुस्तकालय को जोड़ें और सभी तेज की तरह काम करें। Billiant!
पाटसनलाइनर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.