Faire Web.config transformations travailler localement
Je veux obtenir web.config transformations de travail local, mais apparemment les transformations seulement se produire lorsque vous effectuez des déploiements.
Quelqu'un connais un moyen d'exécuter la cible de msbuild "TransformWebConfig" sans passer par le "reconstruire" le processus et aussi spécifier et répertoire de sortie où à cracher le transformé web.config?
MODIFIER: à l'Aide de Sayed réponse, j'ai créé un .bat
fichier pour faire exécuter la tâche pour moi:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Msbuild.exe "D:\Demo\Transformation.proj" /t:TransformWebConfig
copy /Y "D:\Demo\Web.config" "D:\MyProject\Web.config"
del ""D:\Demo\Web.config"
la "Transformation de.proj" est une copie de Sayed extrait de code dans la réponse ci-dessous. Il suffit de spécifier la source, la cible et de destination de la transformation. Le nouveau fichier, dans ce cas, la transformée web".config" sera la "D:\Demo" répertoire. Je suis simplement en les copiant sur pour l'écraser de mon projet web.config et, enfin, la suppression du fichier généré dans la "démonstration" du dossier.
Aussi, j'ai créé une macro à exécuter ce fichier de commandes et d'en effectuer la traduction pour moi:
Public Module DoTransform
Sub RunTransformBatchFile()
Try
Process.Start("D:\Demo\RunTransform.bat")
Catch ex As System.Exception
MsgBox(ex.Message)
End Try
End Sub
End Module
Vous pouvez également ajouter un bouton dans votre barre d'outils pour exécuter ce lot et/ou affecter une touche de raccourci pour exécuter.
Vous devez vous connecter pour publier un commentaire.
si vous voulez transformer un fichier de config sans l'aide de la Publication Web Pipeline, alors il suffit d'utiliser le TransformXml tâche manuellement. J'ai écrit un blog détaillée post sur ce à http://sedodream.com/2010/04/26/ConfigTransformationsOutsideOfWebAppBuilds.aspx, mais ici sont les hautes lumières:
Ici, j'ai manuellement transformer l'application.fichier de configuration à l'aide de transform.xml fichier et le fichier de destination est app.prod.config.
Une chose que vous avez mentionné était d'être en mesure de faire la transformation localement lors de l'exécution de l'application. La raison pour laquelle nous avons seulement d'effectuer la transformation sur l'emballage/publier est parce que si nous avons transformé le web.config alors la prochaine fois que vous le débogage de votre application web.config se transforme à nouveau. Ainsi par exemple, si dans votre site web.debug.config vous avez la transformation pour ajouter une valeur à la config, tout est OK, la première fois que vous ajoutez un, mais la prochaine fois que vous exécuter/déboguer votre application, il sera ajouté à nouveau. Il est donc préférable de les éviter.
Si vous utilisez Visual Studio 2015, vous pouvez simplement faire un clic droit sur la transformation de l'environnement désiré, et cliquez sur "Afficher l'Aperçu" ... Il va alors générer la transformation, et que vous pouvez copier et coller la dans le Web normal.fichier de configuration à des fins de débogage. Il suffit de ne pas commettre!
Si vous utilisez Visual Studio 2013, vous pouvez installer le SlowCheetah - XML Transforme extension