Question

J'ai 3 projets .net.

Project1.dll est généré par un projet VS2008.

Project2.dll est généré par un projet VS2005 qui référence Project1.dll.

Project3.dll est généré par un projet VS2008 faisant référence à la fois à Project1.dll et à Project2.dll.

Pour le moment, je construis Project1.dll et le copie manuellement à l'emplacement où Project 2 peut le récupérer.

Ensuite, je construis Project2.dll et le copie manuellement, ainsi que Project1.dll, à l'emplacement où Project 3 peut les récupérer.

Évidemment, je fais quelque chose de mal (manuel). Quelle est la bonne façon de garder les références de mes projets à jour?

La mise à jour de Project2 vers VS2008, puis la création d’une solution contenant les trois projets n’est pas une option pour le moment. Nous avons un plugin visualstudio tiers qui ne fonctionne pas encore dans VS2008. Project2 doit rester dans VS2005

Désactiver Project1 et Project3 vers VS2005, puis créer une solution n'est pas une option non plus. Nous nous appuyons sur les fonctionnalités C # 3.0 et .net 3.5 dans ces projets.

Était-ce utile?

La solution

David, La meilleure option serait probablement d'avoir un dossier de construction commun pour les trois projets. Cela peut être fait dans les propriétés du projet- > Construire - > Chemin de sortie. Pointez ensuite les références vers le dossier de sortie. Ainsi, chaque fois que vous construirez l'un des projets les plus bas, les projets les plus récents disposeront des dernières versions. Vous pouvez également définir le chemin par configuration (Debug, Release), de sorte que vous n’ayez pas besoin de le changer pour chaque type de construction.

Autres conseils

Que diriez-vous d'un événement de pré-génération pour Project3, qui utilise un fichier de commandes pour générer Project1, le copier dans le dossier Project2, puis créer project2 et le copier dans le dossier project3?

Je recommanderais de partager les fichiers csproj / vbproj entre les solutions. Le format des fichiers de projet est compatible entre les deux versions de studio (les fichiers de solution ne le sont toutefois pas) et, tant que vos projets VS2008 visent le runtime 2.0, vous ne devriez pas avoir de difficulté à les compiler. Cela vous permettra de référencer les projets, qui prendront en charge les dépendances.

Si vous avez un projet Web qui doit fonctionner entre les deux versions de studio, cela devient problématique. Dans ce cas, certaines modifications des fichiers de projet indiqueront les fichiers cibles MSBuild corrects.

Nous utilisons un script de génération qui gère les dépendances, construit les DLL et fait ce que vous faites manuellement.

Une astuce que j’ai utilisée par le passé est de tout déplacer vers 2008. Ensuite, j’ai mis en place une solution spéciale en 2005 pour le projet n ° 2 et je l’utilise pour travailler avec le complément. Pour que cela fonctionne, tout dépend de la façon dont le projet n ° 2 se comportera de mal en 2008.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top