Sur base de mon précédent article : Validation de vos configurations .Net Core, voici un exemple de comment utiliser les variables d’environements. Le but ici est de montrer la combinaison du fichier appsettings.json et des varaibles d’environnements. Le code pour cet article est présent sous la branche environment-variable.
Comme vous pouvez le voir dans le fichier de configuration, j’ai laissé le champ SampleProperty sans valeur. Or nous avons vu précédemment que nous avon mis l’attribut required. Donc si vous exécutez dans l’état, vous aurez l’erreur suivante.

Nous allons donc ajouter une variable d’environnement avec un fichier powershell.
[System.Environment]::SetEnvironmentVariable('SampleSection__SampleProperty','toto42',[System.EnvironmentVariableTarget]::Machine)
Nous retrouvons dans le nom de la variable d’environnement ‘SampleSection__SampleProperty’ la hiérarchie complète pour accéder à la propriété. L’élément séparateur entre les niveaux est __ (2 undersocre) car il est compatible sur l’ensemble des plateformes supporté en .Net Core. Vous pouvez retrouver plus d’informations ici.

Une fois la variable créé, il faut redémarrer Visual Studio pour que celui-ci prend en compte ce changement. Car les variables sont liées au process et seulement rechargées au démarrage du process. L’avantage est que le comportement pr défaut est de rassembler le fichier de configuration et de surcharger les valeurs si une variable d’environnement existe. Vous pouvez maintenant relancer et vérifier le résultat.

Un commentaire sur “.Net 5, Utilisation des variables d’environnements et IOptions.”