web-dev-qa-db-fra.com

launchsettings.json et appsettings.json et web.config

J'ai quelques confusions:

1) J'ai publié le projet principal asp.net et je ne vois pas launchsettings.json dans bin\Release\PublishOutput, si j'utilise Octopus, alors comment configurer les attributs en fonction du type de serveur?

2) Est-il possible de déplacer launchsettings.json vers le dossier racine au lieu de sous propriétés?

3) Si je veux utiliser un seul json comme appsettings.json, puis-je fusionner les deux dans le dossier racine?

4) Web.config peut-il être utilisé à la place de launchsettings.json, comment?

15
newbeedeveloper

Réponses à vos questions:

  1. Comme Chris Pratt l'a mentionné dans un commentaire, launchSettings.json n'est utilisé que par Visual Studio. Vous pouvez utiliser variables Octopus dans Octopus.
  2. Pas besoin de launchSettings.json pour publier une application.
  3. S'il existe des paramètres que votre application doit utiliser, veuillez les stocker dans appsettings.json. Cela facilitera les déploiements, car Octopus reconnaît ce fichier par défaut.
  4. Cela dépend de vos besoins. web.config est utilisé par IIS, pas par votre application .NET Core directement, d'où IIS les limitations de ce que vous pouvez configurer peuvent être appliquées.

Astuces.

  • Si vous avez des variables spécifiques à l'environnement, vous pouvez les stocker dans un environnement spécifique appsettings.json, par exemple. appsettings.Release.json.
  • Vous pouvez laisser des espaces réservés pour la substitution de variable Octopus dans votre appsettings.json fichier, en particulier dans un environnement spécifique, par exemple appsettings.Release.json peut contenir une valeur de configuration comme "# {ConnectionString}" et pendant le déploiement Octopus remplacerait cet espace réservé par la valeur réelle des variables Octopus.
15
Ignas