2010-07-12 5 views
1

J'ai 443 projets à créer et à assembler pour une application. environ 1 sur 4 est un service WCF. Mon nouveau script de génération simplifié (hérité est un fichier de commandes DOS, une application .net, un hybride codé spaghetti de msbuild) échoue car le fichier web.config n'est pas présent lorsque la cible _CopyWebApplication s'exécute. Ce fichier fait partie du projet de test de développeur local et n'est pas nécessaire pour la publication, car nous avons un master web.config ailleurs. J'utilise MSBuild 3.5 mais 4.0 peut être disponible.La cible MSBuild échoue car la cible _CopyWebApplication tente de copier web.config

Répondre

2

Si vous ne pouvez vraiment pas vraiment modifier les cibles de construction existantes, pouvez-vous simplement laisser passer dev web.config et soit le remplacer par l'écraser, soit l'ignorer en fonction du processus de déploiement? Dites en créant une cible de génération supplémentaire qui sera invoquée uniquement dans les projets nécessitant ce nettoyage. Je suis sûr que vous pouvez trouver plusieurs endroits dans votre construction où vous pouvez faire un nettoyage. Vous pouvez également injecter une cible plus tôt dans le cycle pour copier votre master web.config là où vous en avez besoin - la modalité dépend de votre situation actuelle - il n'y a pas de meilleure façon de le faire.

Le problème ne disparaîtra pas si vous dites simplement «Je n'ose rien toucher». Vous devrez modifier quelque chose soit en créant une nouvelle cible à copier, soit en nettoyant ou en copiant ou en nettoyant avant/après la construction.

Vous pouvez également créer 3 variantes de la _CopyWebApplication - une qui fait tout comme hors de la boîte, une autre qui fait tout sauf essayer de copier le fichier (s) personne ne veut et un vide - donc vous ne forcer rien mais fournissant des options.

+0

Je suis revenu à ce problème et je n'arrive pas à obtenir _CopyWebApplication à remplacer correctement, des conseils? – Maslow

1

la cible prioritaire en important un fichier au bas de votre projet avec

<Target Name="_CopyWebApplication" /> 

Cet objectif est toujours une douleur atroce, surtout si vous essayez et ordonnez les propriétés OUTDIR. Ce n'est pas si précieux en tout.

+0

Ceci est pour une solution de projet> 450, en plus je ne suis pas en mesure de dicter un changement d'architecture de cette taille. Je n'ai que le contrôle sur mon processus de construction, je devrais être capable de faire un meilleur que ce que nous avons. – Maslow

Questions connexes