Зависимости проекта от нескольких версий Visual Studio - PullRequest
3 голосов
/ 01 октября 2008

У меня есть 3 .net проекта.

Project1.dll генерируется проектом VS2008.

Project2.dll генерируется проектом VS2005, который ссылается на Project1.dll.

Project3.dll создается проектом VS2008, который ссылается как на Project1.dll, так и на Project2.dll.

Сейчас я создаю Project1.dll и вручную копирую его в место, где Project 2 может его забрать.

Затем я создаю Project2.dll и вручную копирую его и Project1.dll в место, где Project 3 может их забрать.

Очевидно, что я делаю что-то не так (руководство). Как правильно поддерживать ссылки на мои проекты в актуальном состоянии?


Обновление Project2 до VS2008 с последующим созданием одного решения, содержащего все 3 проекта, в настоящее время недоступно. У нас есть сторонний плагин visualstudio, который еще не работает в VS2008. Project2 должен остаться в VS2005

Де-обновление Project1 и Project3 до VS2005 и последующее создание одного решения также не вариант. В этих проектах мы используем функции C # 3.0 и .net 3.5.

Ответы [ 5 ]

4 голосов
/ 01 октября 2008

Давид, Вероятно, лучшим вариантом будет иметь общую папку сборки для всех трех проектов. Это можно сделать в Свойствах проекта-> Построить -> Выходной путь. Затем укажите ссылки на выходную папку. Таким образом, каждый раз, когда вы строите какой-либо из низших проектов, у высших проектов будут самые последние версии. Вы также можете установить путь для каждой конфигурации (Debug, Release), поэтому вам не нужно будет изменять его для каждого типа сборки.

2 голосов
/ 01 октября 2008

Как насчет события предварительной сборки для Project3, которое выходит и использует пакетный файл для сборки Project1, скопируйте его в папку Project2, а затем соберите project2 и скопируйте его в папку project3.

1 голос
/ 01 октября 2008

Я бы порекомендовал разделить файлы csproj / vbproj между решениями. Формат файлов проекта совместим между двумя версиями студии (однако файлы решения не совместимы), и, пока ваши проекты VS2008 ориентированы на среду выполнения 2.0, у вас не должно возникнуть никаких проблем при их компиляции. Это позволит вам ссылаться на проекты, которые позаботятся о зависимостях.

Единственное место, где это становится волосатым - это если у вас есть веб-проект, который должен работать между двумя версиями студии. В этом случае в файлы проекта вносятся некоторые изменения, которые указывают на правильные целевые файлы MSBuild.

0 голосов
/ 01 октября 2008

Уловка, которую я использовал в прошлом, - это перенести все на 2008 год. Затем в 2005 году я установил специальное решение для второго проекта и использовал его для работы с надстройкой. Чтобы заставить это работать, зависит только от того, как плохо себя ведет второй проект в 2008 году.

0 голосов
/ 01 октября 2008

Мы используем скрипт сборки, который обрабатывает зависимости, строит библиотеки DLL и делает то, что вы делаете вручную.

...