Разработчики с VS 2005 и VS 2008 работают над одним и тем же проектом - PullRequest
0 голосов
/ 05 марта 2009

У нас есть решение, которое имеет веб-сайт и библиотеку классов. У нас также есть разработчики, работающие в VS 2005 и VS 2008. Проблема в том, что когда пользователь добавляет файл / удаляет файл из библиотеки классов, он не добавляется в файл проекта для пользователей, использующих другую версию VS. Также мне пришлось настроить нашу автоматическую сборку для использования одного файла проекта. Есть ли способ обойти это или нам нужно обновить всех до 2008 года?

Ответы [ 4 ]

6 голосов
/ 05 марта 2009

Работать с двумя разными версиями Visual Studio в команде из более чем одного участника проекта абсолютно бессмысленно. Я рекомендую перейти на Visual Studio 2005 или на Visual Studio 2008. Вы можете установить несколько версий Visual Studio на одном компьютере без побочных эффектов.

5 голосов
/ 05 марта 2009

Вам нужно будет сохранить каждый файл решения в одной и той же версии Visual Studio. Можно разделить ваш продукт на несколько решений. В этом случае у вас может быть 1 файл .sln, содержащий ваши проекты 2005 года, и 1 .sln, содержащий ваши проекты 2008 года.

Как вы упомянули, нет автоматического способа для синхронизации проектов 2005 и 2008 годов, поскольку при добавлении файла в один из проектов у другого не будет этого нового файла. , Аналогично, когда вы удаляете файлы.

0 голосов
/ 05 марта 2009

Я не уверен насчет проектов «Веб-сайт» (а не «Веб-приложение»), но обычно вам не нужны разные файлы проектов для 2005 и 2008 годов. Вам нужны только отдельные файлы решений.

Просто откройте свой проект 2005 года в 2008 году и дайте ему возможность обновить ваше решение / проекты. Вы можете получить диалоговое окно с просьбой обновить версии CLR, просто скажите «нет».

Получив работающее решение 2008 года, скопируйте файл * .sln под другим именем (я называю его копией * .2005.sln), откройте скопированный файл * .sln в блокноте или в своем любимом текстовом редакторе. Найдите «Формат версии 10.0» во 2-й строке и измените на «Формат версии 9.0». Сохраните файл.

Вот и все, ваш обновленный файл решения работает в VS 2008, а тот, который вы скопировали и изменили, работает в VS 2005.

Есть еще один шаг, если у вас есть проекты веб-приложений. В файле vbproj или csproj веб-приложения найдите строку:

<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v9.0\WebApplications\Microsoft.WebApplications.targets" Condition="" />

и замените одну строку этими двумя:

<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v8.0\WebApplications\Microsoft.WebApplications.targets" Condition="'$(Solutions.VSVersion)' == '8.0'" />
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v9.0\WebApplications\Microsoft.WebApplications.targets" Condition="'$(Solutions.VSVersion)' == '9.0'" />

Эти две строки условно выберут правильный путь MSBuild в зависимости от используемой версии VS.

0 голосов
/ 05 марта 2009

Возможно, вам следует перейти на VS 2005 - так как я сейчас работаю над проектом, использующим VS08, и время от времени пути ссылочных библиотек путаются и библиотеки теряются - или у нас возникает та же проблема, что и вы описал, что файлы, которые были добавлены от одного пользователя, не находятся в файле проекта для следующего после обновления.

...