Версия Visual Studio-независимые проекты / решения: возможно ли это?

#c# #c #visual-studio #versioning #projects-and-solutions

#c# #c #visual-studio #управление версиями #проекты и решения

Вопрос:

Я помню, что за последний год я видел проект с открытым исходным кодом, который я смог открыть как в VS 2008, так и в VS 2010 без появления мастера обновления. Я думаю…

Возможно ли создать проект / решение, которое откроется в любой версии Visual Studio без запроса на запуск мастера обновления? Если да, то как мне это сделать?

Информация как для проектов C , так и для C # была бы наиболее полезной.

Комментарии:

1. Есть ли у вас мастер обновления, если вы создаете проект с помощью VS 2010, а затем открываете его в VS 2008?

2. Мне кажется, я видел проекты, которые будут генерировать версии 2008 и 2010 годов из какого-то другого типа makefile / описания проекта, но я совершенно уверен, что вы не можете использовать одни и те же файлы проекта в обоих.

3. Вопрос касается проектов C # и C в VS, и я действительно хотел бы знать, возможно ли это, включая изменение настроек VS. Кроме того, я был бы в порядке с такими ограничениями, как более низкая версия .NET, было бы в порядке.

4. @Otiel: При открытии решения, разработанного VS2010 в VS2008, я получаю сообщение об ошибке. Is говорит, что это допустимый файл решения, но он был создан с более новой версией, поэтому его нельзя открыть.

Ответ №1:

Вы можете использовать CMake и сгенерировать решение VSx.

Я думаю, что в проекте, который вы видели, было 2 решения Visual Studio для разных версий Visual Studio.

Обновление: Кроме того, вы можете использовать http://sourceforge.net/projects/vspc / или смотрите http://www.emmet-gray.com/Articles/ProjectConverter.htm

Комментарии:

1. Спасибо 🙂 Проверю это.

Ответ №2:

Формат решения существенно не изменился по сравнению с версиями Visual Studio, за исключением номера версии. Если сам код достаточно общий (не использует linq и т.д.), То вы можете отредактировать первую строку файла решения, чтобы «понизить» версию.

VS2005 использует:

 Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
  

Комментарии:

1. 1; Это будет полезной информацией для кого-то, но не для меня. Причина, по которой я не могу использовать это решение, заключается в том, что мне нужно проверить одну версию в системе управления версиями, и я бы предпочел, чтобы люди не проверяли эти файлы бесконечно, особенно потому, что они будут время от времени проверять законные изменения в проекте.

Ответ №3:

Вы можете дать проекту предварительной сборки попробовать сгенерировать необходимые файлы решений «на лету».

Prebuild — это кроссплатформенный инструмент предварительной сборки на основе XML, который позволяет разработчикам легко генерировать файлы проекта для основных IDE и инструментов разработки .NET, включая: Visual Studio .NET 2002, 2003, 2005, 2008, 2010 SharpDevelop, MonoDevelop, NAnt и Autotools.

Комментарии:

1. Выглядит интересно. Я попробую это

Ответ №4:

Возможно, это не то, о чем вы спрашиваете, но вы можете преобразовать свой проект в nmake target

Ответ №5:

Единственный способ сделать это — создать отдельные решения (для 2010 и 2008 годов) и включить существующие проекты в разные решения. Создайте новые проекты в VS2008, а затем добавьте их в решение VS2010.

Комментарии:

1. Попробую это, когда у меня будет возможность.

Ответ №6:

Вам может понадобиться что-то вроде round-tripping

Циклическое переключение — это возможность использовать текущую или предыдущую версию Visual Studio для таргетинга на платформу, которая поддерживается обеими версиями VS. Например, с циклическим отключением вы можете открывать проекты из предыдущей версии VS в более новой IDE без необходимости преобразования, что позволяет вам параллельно работать над старыми и обновленными проектами.

Подробнее

Комментарии:

1. Но в той статье говорится, что это явно не поддерживается VS?

2. Я не голосовал против. Отличная статья. К сожалению, это говорит мне о том, что ответ всех остальных верен: мне действительно нужны два решения.