#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. Я не голосовал против. Отличная статья. К сожалению, это говорит мне о том, что ответ всех остальных верен: мне действительно нужны два решения.