Si te encuentras con alguna parte que te causa duda puedes dejarlo en los comentarios y trataremos de ayudarte lo mas rápido que podamos.
Solución:
Cuando
Microsoft.Extensions.Hosting
se introdujo en 2.1 algunos tipos comoIHostingEnvironment
yIApplicationLifetime
fueron copiados deMicrosoft.AspNetCore.Hosting
. Algunos cambios de 3.0 hacen que las aplicaciones incluyan tanto elMicrosoft.Extensions.Hosting
yMicrosoft.AspNetCore.Hosting
espacios de nombres Cualquier uso de esos tipos duplicados provoca un error del compilador de “referencia ambigua” cuando se hace referencia a ambos espacios de nombres.Este error se ha solucionado en 3.0.0-vista previa3 marcando los siguientes tipos como obsoletos y reemplazándolos con nuevos tipos. No se han realizado cambios de comportamiento para los nuevos tipos, solo nombres.
Tipos obsoletos (advertencia):
Microsoft.Extensions.Hosting.IHostingEnvironment
Microsoft.AspNetCore.Hosting.IHostingEnvironment
Microsoft.Extensions.Hosting.IApplicationLifetime
Microsoft.AspNetCore.Hosting.IApplicationLifetime
Microsoft.Extensions.Hosting.EnvironmentName
Microsoft.AspNetCore.Hosting.EnvironmentName
Nuevos tipos:
Microsoft.Extensions.Hosting.IHostEnvironment
Microsoft.AspNetCore.Hosting.IWebHostEnvironment : IHostEnvironment
Microsoft.Extensions.Hosting.IHostApplicationLifetime
Microsoft.Extensions.Hosting.Environments
Tenga en cuenta que los nuevos métodos de extensión IHostEnvironment IsDevelopment, IsProduction, etc. se encuentran en el espacio de nombres Microsoft.Extensions.Hosting, que es posible que deba agregarse a su aplicación.
Para 3.0, tanto el tipo antiguo como el nuevo estarán disponibles en los contenedores de inyección de dependencia de HostBulder y WebHostBuilder. Los tipos antiguos se eliminarán en 4.0.
Fuente: https://github.com/aspnet/AspNetCore/issues/7749
Largo y corto, estás buscando IWebHostEnvironment
ahora. Es probable que deba agregar usando para Microsoft.Extensions.Hosting
también.
Parece IHostingEnvironment
ha sido reemplazado por IHostEnvironment
(y algunos otros). Debería poder cambiar el tipo de interfaz en su código y todo funcionará como solía hacerlo 🙂
Puede encontrar más información sobre los cambios en este enlace en GitHub https://github.com/aspnet/AspNetCore/issues/7749
EDITAR También hay una interfaz adicional IWebHostEnvironment
que se puede utilizar en aplicaciones ASP.NET Core. Esto está disponible en el Microsoft.AspNetCore.Hosting
espacio de nombres
Reseñas y puntuaciones
Más adelante puedes encontrar las aclaraciones de otros creadores, tú también tienes la libertad de insertar el tuyo si lo crees conveniente.