0

J'ai une solution VS.NET avec deux projets, ProjectWeb et ProjectLibrary. PW dépend de PL, donc j'ai une référence à du projet VS.NET à PL dans PW.Solution VS.NET construite différemment sur le serveur de construction

Cela fonctionne très bien sur ma boîte de dev, mais quand tout arrive au serveur de construction, j'ai deux projets de construction différents, un pour PL et un pour PW. Je voudrais construire PL et copier les binaires quelque part. Ensuite, je voudrais construire PW et seulement, en utilisant les binaires de la construction PL précédente.

Mais cela fonctionnera-t-il puisque le projet PW VS.NET fait référence à un projet qui n'existe pas lorsque je compile PW uniquement sur le serveur de construction?

Comment puis-je configurer cela

Pour les détails, je me sers CC.NET et NAnt, mais je dois d'autres projets qui utilisent Hudson et MS droit construire

Répondre

1

une approche que je l'ai utilisé dans le passé est d'avoir un événement Postbuild sur le projet PL qui copie votre dll à LocationX (quelque chose comme ça)

XCOPY $(TargetFileName) LocationX /R /Y 

(le/R/Y est nécessaire pour forcer un ovewrite du fichier qui est habituellement nécessaire si la DLL est stocké dans le contrôle de la source et est en lecture seule ... sinon pas vraiment nécessaire).

Ensuite, dans PW n'utilisez pas de référence de projet, référencez plutôt la DLL dans LocationX. Ensuite, tout va fonctionner sur votre machine et sur la boîte de construction.

Vous pouvez toujours inclure PL dans votre solution afin que le débogage fonctionne correctement. Notez que l'utilisation de l'événement PostBuild est un peu «ancienne». Il est préférable de créer une cible AfterBuild MsBuild qui fonctionne avec xcopy. Même résultat cependant.

+0

Merci pour le conseil, je vais essayer. – slolife

+0

Cela me donne un autre angle à essayer: Comme vous l'avez dit, n'utilisez pas les références de projet dans PW. Au lieu de cela, accédez à l'emplacement dll et incluez la référence en utilisant un emplacement de fichier. Cela pourrait fonctionner. – slolife