MSBuild de sortie de copie d'un autre projet dans la sortie du projet en cours

J'ai une situation où je veux copier la sortie de l'assemblée d'un projet dans le répertoire de sortie de mon application cible à l'aide de MSBuild, sans codage en dur des chemins à mon MSBuild tâche de Copie. Voici le scénario:

  • Projet Un Projet D'Application Web
  • Projet B - Dal Projet D'Interface
  • Projet C - Dal Projet De Mise En Œuvre

Il y a une couche de trop, mais n'a pas de pertinence pour le MSBuild problème, je suis à la recherche à résoudre.

Ma couche a une référence à mon Dal.Projet d'Interface. Mon projet web a une référence à la couche de gestion et tel qu'il est, en faire une version va tirer la couche de gestion et Dal.L'Interface de projets dans la sortie. Pour l'instant, donc bon. Maintenant, pour l'application web de courir, il faut le Dal mise en œuvre. Je ne veux pas la mise en œuvre référencés depuis que j'ai envie de faire appliquer le codage de l'interface et n'ayant pas de référence signifie qu'il n'apparaît pas dans intellisense, etc.

Alors j'ai pensé que je pouvais gérer ce par le biais de la MSBuild opération de copie comme une AfterBuild tâche (j'ai la Dal de mise en Œuvre de l'installation de construire lorsque le projet web construit, tout simplement pas de référence). Je ne veux pas dur les chemins de code ou quoi que ce soit d'autre dans le MSBuild params, donc je suis à essayer de comprendre comment faire référence à la sortie de la Dal projet à partir de l'Application Web du Projet MSBuild fichier.

Donc, sur la base des projets mentionnés ci-dessus c'est ce que je veux voir arriver:

  1. Web app construire est lancé
  2. Tous les projets requis construire (déjà configuré, c'est fait)
  3. MSBuild "AfterBuild" tâche débute avec la sortie de Projet C (Dal mise en Œuvre) est copié dans le répertoire Bin de Projet (web app)

La partie 3 est là que je suis bloqué.

Je suis sûr que cela peut être fait, je suis juste de ne pas trouver une bonne référence pour vous aider. Merci d'avance pour toute aide.

OriginalL'auteur Andrew Van Slaars | 2008-11-05