Mise à jour:
Pour le courant (nouveau) .csproj format de l' CopyToPublishDirectory
attribut doit être utilisé. Il décide alors de copier le fichier à la publication du répertoire et peut avoir une des valeurs suivantes:
- Toujours,
- PreserveNewest
- Jamais
Ajoutez la section suivante dans votre .csproj
:
<ItemGroup>
<None Include="appsettings.Production.json" CopyToPublishDirectory="Always" />
</ItemGroup>
Regarder dans @nover réponse et DONC Exclure ou inclure des fichiers sur publier pour plus d'informations à propos du fichier de contrôle en cours de publication.
"Dans votre project.json
fichier que vous avez la section publishOptions
avec le paragraphe include
, où vous avez déjà des fichiers comme "appsettings.json":
"publishOptions": {
"include": [
"appsettings.json",
"hosting.json",
"project.json",
"web.config"
]
},
Vous devez ajouter "appsettings.Production.json"
dans ce tableau.
Les mises à jour sur la base des commentaires:
Gardez à l'esprit que tous les appsettings.*.json
fichiers comme appsettings.development.json
, appsettings.staging.json
et appsettings.production.json
finiront toujours dans tous les environnements. Vous ne pouvez simplement gérer à l'aide de cette project.json
, car il ne prend pas en charge toutes les règles de l'état. Ce sera modifiée dans l'avenir, lorsque project.json
sera remplacé retour à l' msbuild
et .csproj
. Si cela est essentiel pour votre application, pensez à utiliser un autre magasin de configuration, comme la Variable d'Environnement de la base de données, etc.
-
Notez que l'ordre est important, de déterminer les paramètres qui seront appliqués si ils existent en de multiples endroits. À partir de la documentation:
L'ordre dans lequel la configuration de sources sont spécifiées est important, car cela établit l'ordre de priorité, avec les paramètres qui seront appliqués si ils existent en de multiples endroits. Dans l'exemple ci-dessous, si le même paramètre existe dans les deux appsettings.json et dans une variable d'environnement, le paramètre de la variable d'environnement sera celui qui est utilisé. La dernière configuration de la source spécifiée "gagne" si un paramètre existe dans plus d'un endroit. L'ASP.NET l'équipe recommande de spécifier des variables d'environnement, de sorte que l'environnement local peut remplacer quoi que ce soit réglé en déploiement, les fichiers de configuration.