Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Как преобразовать решение Visual Studio .NET 2008 в Visual Studio .NET 2005?

Автор вопроса: JamesОтветов: 6

Предположим, что решение содержит только классы и что все эти классы написаны в соответствии со спецификациями .NET 2.0. Если бы это решение было открыто, преобразовано и сохранено в Visual Studio 2008, можно ли было бы повторно открыть решение позже в Visual Studio 2005 с некоторыми минимальными изменениями в файле .SLN?

Как бы это сделать?

Существует ли инструмент, который будет преобразовывать файлы .SLN с понижением частоты с 2008 по 2005 год, если все классы, содержащиеся в решении, уже написаны в соответствии со спецификациями .NET 2.0?

solutionvisual-studio-2008visual-studio-2005

Ответы

Ответ 1 · рейтинг 7 · Will Dean

Обычно единственное, что вам нужно сделать с файлами .SLN, - это изменить номер версии в верхней части файла.

Файлы вашего проекта CS также будут почти в порядке, а если это не так, их можно настроить так, чтобы они подходили как для 2005, так и для 2008 года.

Некоторое время мы работали с двумя файлами решений (05 и 08), совместно использующими один и тот же набор файлов проекта CS.

Однако имейте в виду, что вы не можете совместно использовать файлы проекта VC между двумя версиями, подобными этой.

"Настройка" для файлов проекта выглядит следующим образом:

Проекты CS, созданные на VS2008, будут содержать строку:

<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

VS2005 подавится этим, и вам нужно изменить его на следующее:

<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />

Последний будет работать как с 2005, так и с 2008 годом.

Ответ 2 · рейтинг 3 · Jon Skeet

Если вы не используете какие-либо "необычные" функции в 2008 году, по моему опыту, единственное, что изменится, - это номер версии в нескольких местах. Его можно отредактировать вручную (он находится в верхней части файла IIRC). По крайней мере, стоит попробовать. Если вы используете функции, специфичные для VS2008 (дизайнеры и т. Д.), Это может не сработать, но для простых библиотек классов я добился успеха.

Возможно, вас заинтересует сообщение в блоге о сосуществовании VS2005 и VS2008, которое я написал некоторое время назад.

Ответ 3 · рейтинг 3 · ggf31416

Здесь есть конвертер http://www.emmet-gray.com/Articles/ProjectConverter.htm (также работает с VS 2010).

Также существует http://www.dsmyth.net/wiki/Downloads_VS2008ToVS2005Patcher.ashx
(ссылка не работает?).

Я также нашел этот http://www.codeplex.com/Vs2008BackMigration, но не тестировал его. .

Ответ 4 · рейтинг 2 · Lasse V. Karlsen

Да, это возможно, если вы "понизите" файлы решения.

Нет, такого инструмента я не знаю, и я искал.

У вас есть три варианта:

  1. Не открывайте файл решения в 2008 году и, следовательно, никогда не обновляйте его.
  2. Не смешивайте версии клиентов с одними и теми же файлами (т. Е. Придерживайтесь 2005 г. или всех обновлений)
  3. Храните отдельные файлы решений для 2005 и 2008 годов, убедитесь, что все одинаковые проекты присутствуют в обоих

Спасибо @Will Dean за напоминание мне о том, что файлами проекта действительно можно делиться. Обратите внимание, что они затронуты редактором 2008 года, но впоследствии их можно будет открыть в 2005 году.

Ответ 5 · рейтинг 1 · Eoin Campbell

Вы можете попробовать это. YMMV

http://www.emmet-gray.com/Articles/ProjectConverter.htm

Я помню, что несколько месяцев назад он был размещен в блоге Джона Скитса и, похоже, получил одобрение от людей.

Ответ 6 · рейтинг -2 · dirkgently

Прямого пути нет, и это непростая задача, если вы попытаетесь. Самый простой способ - создать новый проект 2005 года и добавить свои классы.

Для начала: вот отличия, которые вы увидите:

Файлы .csproj: (они основаны на схеме MSBuild)

(редактировать)

  • ИнструментыВерсия
  • Версия продукта
  • ProjectVersion

(Удалить)

  • СтарыйИнструментыВерсия
  • TargetFramework

Файлы .sln: (без схемы)

  • Формат Версия 10.0

и Т. Д.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы