J'ai besoin de vérifier dans la ConfigureServices
méthode si le nom actuel de l'environnement d'hébergement est «Développement».
Donc, utiliser la IHostingEnvironment.IsDevelopment()
méthode peut me convenir, mais contrairement à la méthode Configure, je ne l'ai pas IHostingEnvironment env
.
asp.net-core
Ensemble
la source
la source
ConfigureServices
est-ce impossible?ConfigureServices
, c'est impossible car le framework ne prend pas en charge l'injection de dépendances pour cette méthode particulière comme il le fait dans d'autres domaines (probablement parce que vous utilisez cette méthode pour configurer l'injection de dépendances). La définition au niveau du constructeur comme décrit par Joe devrait contourner le problème.Copié ici à partir de la question marquée comme duplicata de celle-ci et supprimée . Crédit à a-ctor .
Si vous souhaitez accéder
IHostingEnvironment
àConfigureServices
vous devrez injecter par le constructeur et le stocker pour un accès plus tardConfigureServices
:la source
environment
est en minuscules, alors que la propriété semble l'êtreEnvironment
.IHostingEnvironment
n'est obsolète que depuis.Net Core 3.0
? (Je travaille sur un `` test à emporter '' qui appelleservices.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
à l'intérieur de laConfigureServices()
méthode et IHostingEnvironment fonctionne bien.IHostingEnvironment
est obsolète dans Core 3.1devrait faire l'affaire ...
Puis référencez n'importe où avec
_env.IsDevelopment()
etc ...la source