Когда Microsoft.Extensions.Hosting
был введен в 2.1, некоторые типы, такие как IHostingEnvironment
и IApplicationLifetime
были скопированы из Microsoft.AspNetCore.Hosting
. Некоторые изменения 3.0 приводят к тому, что приложения включают в себя пространства имен Microsoft.Extensions.Hosting
и Microsoft.AspNetCore.Hosting
. Любое использование этих дублирующих типов вызывает ошибку компилятора с «неоднозначной ссылкой», когда на оба пространства имен ссылаются.
Эта ошибка была исправлена в 3.0.0-preview3 , пометив следующие типы как устаревшие и заменив их новыми. Не было никаких изменений в поведении новых типов, только присвоение имен.
Устаревшие типы (предупреждение):
Microsoft.Extensions.Hosting.IHostingEnvironment
Microsoft.AspNetCore.Hosting.IHostingEnvironment
Microsoft.Extensions.Hosting.IApplicationLifetime
Microsoft.AspNetCore.Hosting.IApplicationLifetime
Microsoft.Extensions.Hosting.EnvironmentName
Microsoft.AspNetCore.Hosting.EnvironmentName
Новые типы:
Microsoft.Extensions.Hosting.IHostEnvironment
Microsoft.AspNetCore.Hosting.IWebHostEnvironment : IHostEnvironment
Microsoft.Extensions.Hosting.IHostApplicationLifetime
Microsoft.Extensions.Hosting.Environments
Обратите внимание, что новые методы расширения IHostEnvironment IsDevelopment, IsProduction и т. Д. Находятся в пространстве имен Microsoft.Extensions.Hosting, которое может потребоваться добавить в ваше приложение.
Для 3.0 старый и новый типы будут доступны из контейнеров внедрения зависимостей HostBulder и WebHostBuilder. Старые типы будут удалены в 4.0.