2010-12-06 46 views
0

J'ai quelques projets C# VS 2010 qui sont partagés entre plusieurs solutions. Je voudrais que ces projets soient intégrés au répertoire des solutions dans lesquelles ils sont ouverts. Comment faire?Répertoire bin de variables Visual Studio

J'ai envisagé de configurer différentes configurations de construction (Debug_Xsln, debug_Ysln, Release_Xsln ...) mais je ne savais pas s'il y avait une meilleure solution.

+0

Il est automatique lorsque vous ajoutez une référence à la sortie du projet. –

Répondre

5

http://msdn.microsoft.com/en-us/library/42x5kfw4(v=VS.100).aspx

Vous pouvez utiliser un événement Postbuild avec xcopy et la macro $(SolutionName) ou $(SolutionDir) pour copier les fichiers compilés dans le dossier approprié.

Allez dans les propriétés du projet, construire onglet événements et Post Construire entrer quelque chose comme cette ligne de commande de l'événement:

xcopy "$(ProjectDir)bin\$(ConfigurationName)\*.*" "$(SolutionDir)$(ProjectName)\bin\$(ConfigurationName)" /i /d /y 

L'avantage de cette méthode est que vous pouvez copier la sortie de la construction d'un projet plusieurs emplacements

OU

(comme Ziplin découvert)

Si vous avez seulement un endroit que vous voulez la sortie de génération pour aller, vous pouvez utiliser les macros ci-dessus pour définir le chemin de sortie, comme ceci:

$(SolutionDir)$(ProjectName)\bin\$(ConfigurationName) 

juste aller aux propriétés du projet sur l'onglet de construction et de définir votre Emplacement macro comme chemin de sortie

+0

Une approche que j'ai suivie lorsqu'un groupe de bibliothèques est partagé entre des projets consiste à les placer dans une seule solution et à utiliser xcopy pour les déployer vers un emplacement réseau partagé, puis dans chaque solution qui les utilise, à partir de l'emplacement partagé. La gestion des versions peut ensuite être contrôlée avec des sous-dossiers, ou chaque solution peut toujours être automatiquement créée avec la dernière version, en fonction de la manière dont vous souhaitez la gérer. – Josh

+0

Votre réponse semble beaucoup plus propre que ma solution, merci! Pas si sûr de votre commentaire, cependant. – Dlongnecker

+1

Josh, j'ai trouvé ce que je pense être une façon plus propre de le faire. Si vous mettez à jour votre réponse, je vous la donnerai parce que vous m'avez conduit de la bonne façon. - Je peux juste définir le chemin de sortie au texte que vous avez donné - $ (SolutionDir) bin \ $ (Configuration) Dlongnecker