J'ai écrit un service web-api et utilisé le guépard lent pour faire les transformations. Tout est bon quand je compile et publie sur un serveur avec Visual Studio tout est transformé dans de nombreuses configurations différentes et dans de nombreux fichiers de configuration différents (connectionStrings.config etc ainsi que web.config).Web Config étant ignoré
Cependant, lorsque je compile avec msbuild, ce n'est pas le cas. Le web.config de vanilla est utilisé et rien n'est transformé.
Je me suis assuré que je suis en cours d'exécution avec le /p:Configuration
correct et aussi essayé de courir TransformAllFiles
cible spécifiquement mais encore une fois le fichier résultant ne prend pas en considération mon dossier de Web.UAT.config.
J'ai installé la version du paquet lent NuGet guépard 2.5.15 et le projet a été généré avec le studio visuel 2015.
La raison pour laquelle je veux faire la transformation est que je peux l'emballer avec le poulpe et le déploiement à plusieurs les serveurs. En ce moment je suis coincé. En aparté, si je lance la cible /t:TransformWebConfig
cela transforme le fichier mais je crois que ce n'est pas la fonctionnalité slowcheetah et donc ce n'est pas vraiment ce qui est nécessaire.
Procédure pour reproduire ce problème
1) Créer un projet api 2 web os d'ours 2) Ajouter guépard lente 3) Installer guépard lent ajouter dans pour visual studio 2015 aperçu 4) ajouter une nouvelle configuration UAT basé sur la version. 5) quitter pour la ligne de commande.
exécutez la commande msbuild/t: TransformAllFiles/p: Configuration = UAT .csproj.
note dans la sortie, vous verrez quelque chose de similaire à:
> G:\dev\c#\TestCheetah\TestCheetah>msbuild /t:TransformAllFiles
> /p:Configuration=UAT TestCheetah.csproj Microsoft (R) Build Engine
> version 14.0.25123.0 Copyright (C) Microsoft Corporation. All rights
> reserved.
>
> Build started 17/05/2016 19:32:44. The target "_ConvertPdbFiles"
> listed in a BeforeTargets attribute at "C:\Program Files
> (x86)\MSBuild\14.0\Microsoft.Com
> mon.targets\ImportAfter\Xamarin.Common.targets (34,37)" does not exist
> in the project, and will be ignored. The target "_CollectPdbFiles"
> listed in an AfterTargets attribute at "C:\Program Files
> (x86)\MSBuild\14.0\Microsoft.Com
> mon.targets\ImportAfter\Xamarin.Common.targets (34,70)" does not exist
> in the project, and will be ignored. The target "_CollectMdbFiles"
> listed in a BeforeTargets attribute at "C:\Program Files
> (x86)\MSBuild\14.0\Microsoft.Com
> mon.targets\ImportAfter\Xamarin.Common.targets (40,38)" does not exist
> in the project, and will be ignored. The target "_CopyMdbFiles" listed
> in an AfterTargets attribute at "C:\Program Files
> (x86)\MSBuild\14.0\Microsoft.Common
> .targets\ImportAfter\Xamarin.Common.targets (40,71)" does not exist in
> the project, and will be ignored. Project
> "G:\dev\c#\TestCheetah\TestCheetah\TestCheetah.csproj" on node 1
> (TransformAllFiles target(s)). TransformAllFiles: Copying file from
> "Web.config" to "obj\UAT\TestCheetah.csproj-sc.App.config". Done
> Building Project
> "G:\dev\c#\TestCheetah\TestCheetah\TestCheetah.csproj"
> (TransformAllFiles target(s)).
>
>
> Build succeeded.
> 0 Warning(s)
> 0 Error(s)
Notez qu'il dit son transformé le fichier web.config mais quand vous regardez, vous remarquerez la valeur de débogage (l'un et seulement transformer) n'a pas changé.