J'ai un fichier principal Web.config
, Et en dessous il y a un Web.Test.config
, Web.Development.Config
Etc.
Lorsque je prévisualise la transformation via SlowCheetah dans la configuration de test, il semble transformer correctement les valeurs.
Lorsque je bascule mon environnement de génération de Développement vers Test et essaie de déboguer l'application, l'application s'exécute sous toutes les valeurs du fichier principal Web.config
(C'est-à-dire qu'elle ne transforme rien).
Comment puis-je faire en sorte que l'environnement de génération sélectionne la bonne configuration lors du débogage plutôt que de toujours utiliser le fichier de base Web.config
? Est-ce possible?
Vous pouvez transformer Web.config
lors de la construction. Ajoutez cette cible à *.csproj
fichier:
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\WebApplications\Microsoft.WebApplication.targets" />
<Target Name="BeforeBuild">
<TransformXml
Source="Web.Base.config"
Transform="Web.$(Configuration).config"
Destination="Web.config" />
</Target>
Conservez la configuration d'origine dans Web.Base.config
. Il suffit d'activer la transformation et cela fonctionne pour n'importe quel fichier de configuration XML. SlowCheetah n'est plus du tout nécessaire.
http://sebnilsson.com/a5410281/asp-net-transform-web-config-with-debug-release-on-build/
Les transformations XML ne seront appliquées que lorsque vous publiez des applications Web et non pendant la génération.
Ce article de blog détaille un travail autour de l'utilisation des paramètres de construction.