Как преобразовать решение VS 2010 обратно в 2008

мы начали использовать VS 2010 и были очень довольны этим, поэтому мы преобразовали наш проект в решение 2010 (все еще .net 3.5) и продолжили нашу разработку в 2010. Однако в последнее время мы получаем много ошибок и хотим вернуться к 2008 году. Файлы решений изменились (везде добавлены новые проекты и файлы), но все по-прежнему находится в .net 3.5. Мне было интересно, есть ли простой способ вернуться в 2008.

8 ответов


в зависимости от того, сохранили ли они структуру файла решения аналогичной между 2008 и 2010, вам просто нужно создать пустой файл решения в 2008 и посмотреть на верхнюю строку идентификатора в нем и скопировать его в другой файл решения.

однако я сомневаюсь, что они сохранили его таким же, поскольку они интегрировали ряд функций в файлы решений.

вы бы лучше создать новое пустое решение в 2008 году и использовать "добавить существующий проект", чтобы импортировать их. Пока ... поскольку у вас нет каких-либо пользовательских "решений", это будет работать (без папок решений, настроек сервера и т. д.).

Это, пожалуй, самый быстрый и самый прямой маршрут.


у меня был успех, изменив первые 2 строки из:

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010

to

Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008

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

затем измените затронутые строки обратно на версию VS 2008, и вам должно быть хорошо идти.

нет автоматического процесса, поскольку Microsoft видит это как одностороннюю операцию.


вы можете вручную редактировать .sln файл в текстовом редакторе. Существует поле с именем version или что-то в этом роде, просто измените его с 10 на 9.


этот вопрос

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

может также применяться для преобразования из 2010 обратно в 2008.


вы можете использовать "Project Converter": http://www.emmet-gray.com/Articles/ProjectConverter.htm

Я только что нашел его. Я собираюсь проверить это прямо сейчас! :-)


попробуйте следующее (Найдите первую строку и замените на вторую строку, чтобы преобразовать решение 2010 в 2008):

TargetFrameworkMoniker = ".NETFramework,Version=v2.0"
TargetFramework = "3.5"

# Visual Studio 10
# Visual Studio 2008

Microsoft Visual Studio Solution File, Format Version 11.00
Microsoft Visual Studio Solution File, Format Version 10.00

<Project ToolsVersion="4.0"
<Project ToolsVersion="3.5"

<ProductVersion>10.0.20506</ProductVersion>
<ProductVersion>9.0.30729</ProductVersion>

\VisualStudio\v10.0\
\VisualStudio\v9.0\

<Import Project="$(MSBuildToolsPath)\Workflow.Targets" />
<Import Project="$(MSBuildExtensionsPath)\Microsoft\Windows Workflow Foundation\v3.5\Workflow.Targets" />

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


Как говорит maZZoo, вы должны заменить эти строки .sln, но если вы проверите панель вывода, у вас может быть предупреждение об использовании ToolsVersion= "4.0", вы должны заменить это в .csproj файл в:

<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">