ASP.NET Core 2.2 -> Actualización 3.0. env.IsDevelopment () no encontrado


92

Actualicé un proyecto 2.2 existente a 3.0. Copié el nuevo código para Programa / Inicio de un nuevo proyecto 3.0 a mi proyecto 2.2 existente. Funcionó, pero lo IsDevelopment()siguiente:

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

Resultados en este error:

'IWebHostEnvironment' no contiene una definición para 'IsDevelopment' y la mejor sobrecarga del método de extensión 'HostingEnvironmentExtensions.IsDevelopment (IHostingEnvironment)' requiere un receptor de tipo 'IHostingEnvironment'

La misma línea no provocó un proyecto 3.0 recién creado. ¿Qué necesito modificar / agregar al proyecto actualizado desde 2.2?

Respuestas:


155

Los nuevos IHostEnvironment, IsDevelopment, IsProductionetc. métodos de extensión están en el Microsoft.Extensions.Hostingespacio de nombres que puede ser necesario añadir a su aplicación.

Referencia:

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
No es necesario instalar el paquete Microsoft.Extensions.Hosting, solo agregue la declaración de uso como se menciona en la publicación de @ Greg.
— Lucas

entonces necesitamos tanto Microsoft.Extensions.Hosting como usar Microsoft.AspNetCore.Hosting; al mismo tiempo ... Me pregunto cómo funciona eso? ¿Nombre de clase de un paquete pero su método de otro?
— Macindows

En realidad, asp.net core 3.0 no tiene ese problema ahora. Se ha solucionado.
— Rena

64

Como dice Rena, IsDevelopmentse ha movido a IHostEnvironmentInterfaz en el espacio de nombres Microsoft.Extensions.Hosting

Solo tuve que agregar el

using Microsoft.Extensions.Hosting;

y luego podría usar IsDevelopment()como antes.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.