Je me bats pour que les transformations web.config fonctionnent avec des builds automatisés.Problème avec Team Build 2010 et la transformation web.config
Nous avons une solution raisonnablement grande, contenant une application Web ASP.NET et huit bibliothèques de classes. Nous avons trois développeurs travaillant sur le projet et, jusqu'à présent, chacun a "publié" la solution dans un dossier local puis a utilisé la copie de fichier pour le déployer sur un serveur de test. Je tente de mettre en place une solution de génération/déploiement automatisée à l'aide de TFS 2010.
J'ai créé une définition de génération et ajouté un appel à msdeploy.exe dans le modèle de processus de génération pour que l'application soit déployée sur le serveur de test. . Jusqu'ici tout va bien! J'ai ensuite essayé d'implémenter les transformations web.config et je n'arrive pas à les faire fonctionner. Si je compile et publie localement sur mon PC, le dossier "publish" a le fichier web.config correct et transformé.
En utilisant la construction d'équipe, la transformation ne se produit tout simplement pas, et j'ai juste le fichier web.config de base.
J'ai essayé d'ajouter une étape de post-construction dans le dossier du projet d'application Web, comme d'autres l'ont suggéré, semblable à:
<target name="AfterBuild">
<TransformXml Source="Web.generic.config"
Transform="$(ProjectConfigTransformFileName)"
Destination="Web.Config" />
</target>
mais échoue beacuse le fichier web.config source a une section "applicationSettings" . J'ai l'erreur
Impossible de trouver les informations de schéma pour l'élément 'applicationSettings'.
Je l'ai vu suggstions ajouter autour des arguments à la tâche MSBuild dans la définition de la construction comme
/t:TransformWebConfig /p:Configuration=Debug
Mais cela tombe sur le moment où les projets de bibliothèque de classe sont construites, probablement parce qu'ils ne disposent pas d'un web fichier .config.
Des idées? Comme d'autres, j'ai pensé que cela «fonctionnerait», mais apparemment pas. C'est la dernière partie dont j'ai besoin pour travailler et ça me rend fou. Je ne suis pas un expert msbuild, si simple et s'il vous plaît!
Merci d'avance.
Doug
Juste une note de côté. Il y avait deux parties difficiles dans tout cela. Le premier consistait à installer MSDeployService correctement sur le serveur Web. La seconde consistait à trouver tous les bons paramètres de MSBuild. Certains de ces sites mentionnés par Doug visent à construire et déployer sur la même machine afin que leurs paramètres ne fonctionnent pas. Dans l'ensemble, le premier passage m'a pris environ 6 heures pour comprendre. Maintenant qu'il est configuré, je peux créer une nouvelle définition de construction en 5 minutes environ. – NotMe
Great post Chris, j'ai également travaillé à travers tout cela (m'a pris un peu plus longtemps en partie à cause de certaines bizarreries sur le serveur, en partie à cause de l'utilisation de tfs hébergés), mais vraiment bon résumé du sujet. Chrs. – MemeDeveloper
Autre remarque: j'ai mis cela sur un nouveau serveur la semaine dernière. Le dernier programme d'installation pour MSDeploy est BEAUCOUP meilleur que le précédent. – NotMe