Visual Studio: Comment faire dépendre une solution d'une autre?

est-il possible de faire dépendre une solution dans VS (c.-à-d. inclure) une autre solution entière? J'ai vu des trucs sur les "dossiers solutions", mais ça ne semble pas être la même chose....? Merci! (BTW, je suis avec VS 2008)

25
demandé sur Robert Fraser 2009-07-20 13:55:34

5 réponses

Pas vraiment. Vous devez faire l'une des choses suivantes:

  • construisez un script de construction qui construit les solutions dans le bon ordre.
  • pré-construire la solution A, et ne faire référence qu'aux sorties binaires construites à partir de celle-ci dans la solution B.
  • faire une troisième solution contenant tous les projets des deux solutions.

les deux premiers éléments sont les plus communs, où je préfère personnellement le second.

19
répondu Sam Harwell 2009-07-20 10:00:07

ce post est ancien, mais de nos jours vous pouvez facilement réutiliser les dépendances dans d'autres solutions en construisant des paquets nuget pour chacune d'elles. VS 2015 a construit le paquet nuget mais est actuellement candidat à la publication. Dans Visual Studio 2013, vous pouvez utiliser le Nuget.Empaqueter le paquet nuget pour permettre à votre projet de construire comme un paquet Nuget.

alors vous pouvez simplement publier de nouvelles versions de vos paquets vers un partage de réseau local et le configurer comme un dépôt dans Visual Studio.

alors les projets de votre autre solution peuvent dépendre de ce paquet.

par exemple, disons que vous avez un DLL D'utilité réutilisable dans une Solution appelée "Core Framework" et que vous voulez utiliser un utilitaire là-bas sur un site Web que vous construisez dans une solution appelée "XYZEcosystem".

dans la solution Corefram Framework vous construiriez un paquet nuget pour le projet utilitaire qui compile à la dll utilitaire et inclut la dll et son fichier pdb dans le paquet.

puis vous publiez cela à votre part de réseau.

alors disons que votre paquet a un ID comme " XYZ.Core.Utilities " avec une version de 1.0.0.0.

maintenant, dans XYZEcosystem, vous utiliserez la console du gestionnaire de paquets, définirez la hauteur de chute du dépôt dans votre dépôt et taperez " Install-Package XYZ.Core.Utilitaires" et il installera la dernière version de XYZ.Core.Utilitaire.

si vous changez pour XYZ.Core.Utilitaires que vous pouvez exécuter Mise à jour-le Paquet XYZ.Core.Utilitaires sur XYZEcosystem et il récupérera la nouvelle version.

11
répondu Ryan Mann 2015-05-22 19:08:13

jetez un coup d'oeil ici: http://blogs.msdn.com/b/habibh/archive/2009/06/24/walkthrough-adding-an-existing-visual-studio-solution-to-another-solution.aspx

en fait la méthode décrite ajoute tous les projets d'une autre solution à la solution actuelle, pas tout à fait ce que nous voulons, mais au moins cela permet de gagner du temps en ajoutant manuellement tous les projets un par un.

5
répondu net_prog 2012-02-02 10:32:10

Vous ne pouvez pas le faire. Et pourquoi voudriez-vous?

il suffit d'ajouter tous les projets dont vous dépendez (les projets dans " autre solution) à la solution.

puis utiliser des références de projet (pas des références de dossier) entre les projets.

1
répondu codeape 2009-07-20 10:04:15

une solution est une collection d'assemblages qui construisent pour créer une sorte d'exécutable ou dll. Avoir une solution qui dépend d'une autre n'a pas de sens. L'assemblage de sortie (exécutable/dll) dépend des assemblages auxquels il se réfère. Si votre solution dépend d'autres assemblages, puis de référence. Vous pouvez ajouter des projets à votre solution (Fichier>Ajouter>projet existant) et ensuite vous pouvez ajouter des références à ces projets à partir de votre projet de sortie.

0
répondu darasd 2009-07-20 10:01:22