should not net name ioptions environmentvariable enabled development deployed aspnetcore_environment asp applications asp.net-core

asp.net core - not - Accediendo a IHostingEnvironment en el método ConfigureServices



ioptions.net core (2)

Necesito verificar en el método ConfigureServices si el nombre del entorno de alojamiento actual es ''Desarrollo''.

Entonces, usar el método IHostingEnvironment.IsDevelopment() puede estar bien para mí, pero a diferencia del método Configure, no tengo IHostingEnvironment env .


simplemente cree una propiedad en la clase de Inicio para mantener el entorno IHosting. Establezca la propiedad en el constructor de inicio donde ya tiene acceso, luego puede acceder a la propiedad desde ConfigureServices


Copiado aquí de la pregunta marcada como duplicado de esta y eliminada . Crédito a a-ctor .

Si desea acceder a IHostingEnvironment en ConfigureServices , deberá inyectarlo a través del constructor y almacenarlo para un acceso posterior en ConfigureServices :

public class Startup { public Startup(IConfiguration configuration, IHostingEnvironment environment) { Configuration = configuration; Environment = environment; } public IConfiguration Configuration { get; } public IHostingEnvironment Environment { get; } public void ConfigureServices(IServiceCollection services) { services.AddMvc(); System.Console.WriteLine($"app: {environment.ApplicationName}"); } // rest omitted }