Question

J'essaie de passer à notre version de CruiseControl.net exécutant un fichier .msbuild personnalisé à Team Build 2010. L'application en cours de compilation est une solution VS2008 avec de nombreux projets, dont deux sont des projets Web.

En utilisant defauftTemplate.xaml, il apparaît que les deux projets Web sont déployés pour Binaries\_PublishedWebsites\(ProjectName). Cet emplacement par défaut est bien. Cependant, le contenu des répertoires de sortie semble être mis à jour, comme si aspnet_compiler.exe a été appelé avec -u, ou comme si un msbuild <AspNetCompiler> La tâche a été utilisée avec Updateable="true". Donc, deux questions:

  1. Comment faire en sorte que l'équipe build produit une sortie non addateable vers le _PublishedWebsites annuaire?
  2. Comment puis-je également définir l'IIS VirtualPath comme si je faisais ce qui suit dans une tâche MSBuild:

    <AspNetCompiler Clean="true" Force="true" VirtualPath="/My-IIS-Virtual-Path" />
    

J'ai trouvé dans le dépannage antérieur que la seule façon dont je peux obtenir IIS 6 pour servir un service Web compilé avec aspnet_compiler.exe En mode non addatif, consiste à spécifier le chemin virtuel de la commande, c'est pourquoi je pose des questions sur le # 2.

Éditer:

Jusqu'à présent, en voyant la seule réponse, j'ai réalisé que j'aurais dû être beaucoup plus clair sur le problème. Je me rends compte que, si je peux faire quelque chose dans msbuild, je peux simplement appeler msbuild à partir du modèle de construction. Cependant, je me demande un peu plus sur comment changer ce qui arrive pour copier la sortie dans le _PublishedWebsites annuaire. "Trouver la tâche qui copie le site Web et le changer" fonctionnerait bien, sauf que je ne vois pas ce qui copie réellement la sortie dans _PublishedWebsites. Ce que je veux vraiment faire, c'est modifier l'étape du modèle qui accomplit cela.

Le journal de construction fait référence à une cible de compilation appelée _CopyWebApplication Cela semble faire le travail de copie des fichiers nécessaires pour une application Web. Cependant, je ne sais pas comment modifier cette cible de compilation, car je ne le vois nulle part dans le modèle de construction ni dans aucun fichier dans la solution. De plus, tout ce qui fonctionne _CopyWebApplication semble l'exécuter uniquement pour les projets d'application Web, pas les nombreux autres projets de la solution. C'est une bonne chose, sauf que je ne sais pas où la logique existe qui détermine s'il faut utiliser _CopyWebApplication.

Peut-être qu'il y a un fichier MSBuild par défaut qui me manque? Un paramètre de construction que je pourrais utiliser? Comment modifier l'étape de construction susmentionnée?

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top