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:
- Web app construire est lancé
- Tous les projets requis construire (déjà configuré, c'est fait)
- 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
Vous devez vous connecter pour publier un commentaire.
J'ai fait ce travail, mais j'aimerais trouver une solution de nettoyage qui prend advanctage des paramètres intégrés dans MSBuild (comme $(TargetDir), etc, mais de pointer le projet que j'ai envie de prendre la sortie pour). De toute façon, ici, c'est ce que j'ai fait:
Je serais ravi de voir une solution plus propre, mais cela devrait le faire pour l'instant.
Voir stackoverflow.com/questions/2325598/... pour un exemple d'un moyen de répondre à la préoccupation que j'ai mentionné
OriginalL'auteur Andrew Van Slaars
Donc, vous voulez avoir une référence, mais pas visible dans VS. Si vous voulez qu'il construit, si nécessaire, et des copies de sortie comme toutes les autres
Content
fichier. Voici comment vous pouvez le faire:The "Content" task was not found.
lors de la compilation dans Visual StudioCode fixe, désolé. Notez qu'il est encore non testé
J'ai fait le même changement, et cela a fonctionné. J'avais besoin de copier les dépendances ainsi que la sortie du projet lui-même, donc j'ai dû changer mon approche un peu.
Est-il possible d'obtenir le TargetOutputs sans réellement à la construction?
Il pourrait être. Cependant, n'a pas vraiment de sens - le dossier de sortie est créé lors de la construction du projet, donc pas beaucoup que vous pouvez faire sans au préalable.
OriginalL'auteur Jonathan