Какие проблемы могут возникнуть при открытии проектов .NET 2.0 в Visual Studio 2010? - PullRequest
12 голосов
/ 23 апреля 2010

Небольшая группа разработчиков программного обеспечения, над которой я работаю, недавно получила разрешение на обновление до Visual Studio 2010 (в настоящее время мы используем VS 2005). У нас есть несколько проектов ASP.NET 2.0 и WinForms (в .NET 2.0).

Мне было поручено загрузить VS 2010 и посмотреть, насколько хорошо он работает с нашими текущими проектами. Какие проблемы следует учитывать при нацеливании на старые приложения в VS 2010? Если я открою проект VS 2005 в VS 2010, будет ли он по-прежнему удачным, когда мой напарник вернется, чтобы открыть проект в VS 2005? Придется ли нам обновлять проекты для работы в VS 2010 (при условии, что сами проекты не обновляются до .NET 4)? Могу ли я использовать VS 2010 для редактирования старых приложений VB6 (шучу)?

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

ПРИМЕЧАНИЕ: я учредил награду в надежде получить более подробный ответ на этот вопрос. Возможно, ответ на самом деле такой же простой, как и те, что уже были предоставлены, но мне интересны дополнительные отзывы о наших вариантах перехода с использования VS 2005 на VS 2010.

Ответы [ 8 ]

7 голосов
/ 26 апреля 2010

Вам, безусловно, придется «обновить» файлы проекта и решения. Это затрудняет создание смешанной команды на VS2k5 и VS2k10. Файл решения и файлы проекта больше нельзя открывать в предыдущих версиях Visual Studio после их обновления.

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

Кроме того, кажется, что вы не сможете использовать любые тестовые проекты до .NET 4.0 nit с VS2010 . Если вы используете MSTest для тестирования приложений до 4.0, это аргумент против перехода на VS2k10 вообще . Вам нужно будет перенести ваше приложение на 4.0 или портировать ваши тесты, например, на. NUnit.

В бета-версии 1 были некоторые ошибки, касающиеся компоновки обозревателя решений. Все перечисленные в Connect являются «исправленными», но стоит помнить, что мастер обновления может допускать ошибки, которые вам придется исправить вручную. Предполагая, что вся ваша команда переходит на vs2k10, такого рода проблема не имеет большого значения, так как она довольно очевидна, если что-то идет не так, довольно легко исправить и случается только один раз.

5 голосов
/ 28 апреля 2010

У нашей компании никогда не было проблем с переносом наших проектов ASP.NET с 2005 по 2008 год, и поэтому я не предвидел каких-либо особых проблем (хотя мы еще не перешли на 2010 год, так что учтите это).У большинства людей, которых я знаю, был такой же опыт .Как уже упоминалось, существует мастер автоматического обновления , который позаботится об обновлениях для вас, и он всегда работает безупречно для всех проектов, которые я обновил.Однако вы не сможете открыть обновленный файл решения в предыдущих версиях Visual Studio (поэтому сначала создайте резервные копии, если вы хотите сохранить их - хотя возможно взломать файлы .sln и перейти на них.назад если действительно необходимо).

Однако вы можете установить несколько версий Visual Studio одновременно (но помните, что только одна версия может иметь расширения файлов по умолчанию, связанные с ней, и это, вероятно, будет последняя версия, которую вы установили).Кстати, если вас интересует, почему вы не можете открыть старые решения в новой версии без преобразования, прочтите эту официальную запись в блоге VS.

Помните, однако, что Visual Studio 2010 позволяетвы нацелились на любую предыдущую версию .NET Framework .Так что, если по какой-то причине вы хотите, чтобы ваши проекты оставались на .NET 2.0, вы можете сделать это.Однако в действительности я не вижу в этом никакого реального преимущества.Лично я думаю, что вам просто нужно укусить пулю и обновить все - людям не очень удобно использовать разные версии для одних и тех же решений.

3 голосов
/ 23 апреля 2010

Вам придется обновить проект.

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

В остальном я не ожидалпроблемы.

2 голосов
/ 09 октября 2010

Мы переносим наши решения 2005 года на 2010 год, мы открыли решения и после завершения обновленного мастера, а затем изменили версию .Net на 4.0, когда мы говорим о сборке, она начинает выдавать сотни ошибок:

1. 1-я ошибка:

Сборка с таким же именем 'mscorlib, версия = 2.0.5.0, Culture = нейтральная, PublicKeyToken = 7cec85d7bea7798e' уже импортирована.

Решение: откройте файл csproj в блокноте и найдите в

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> and
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
 add <NoStdLib>true</NoStdLib> and 
 then find Reference Tag and add <Reference Include="mscorlib" />.

2. 2-я ошибка:

Невозможно удалить файл "bin \ Debug \ <>". Доступ к пути <<> запрещен.

, который не решен ... мы попробовали решения, представленные в http://social.msdn.microsoft.com/Forums/en-US/msbuild/thread/40ed753e-47af-4638-8a72-1d607102a05c, но проблема все еще не решена, мы должны закрыть VS 2010, затем вручную удалить файлы и затем сказать, что нужно построить проект, если мы говорим «очистить» или «перестроить», и это выдаст ошибку, описанную выше.

3. Третья ошибка:

Когда мы запустили мастер миграции в 2010 году, после этого мы увидели, что все ссылки на проекты (не ссылки на dll) пропали, поэтому мы должны открыть все проекты и снова добавить ссылку на проект для всех проектов, которые самая утомительная работа.

2 голосов
/ 29 сентября 2010

При преобразовании проекта из VS 2005 в 2008 или из VS 2008 в 2010 изменяются как файл решения, так и файлы проекта. Но хотя файл решения не может быть открыт с более ранней версией, файлы проекта могут.

Поэтому лучший способ обновления:

  1. Перейдите в файловой системе к исходному решению (Original.sln).
  2. Сделайте копию этого файла решения.
  3. Переименуйте копию, чтобы вы знали, что это VS 2008 (например, OriginalVs2008.sln).
  4. Теперь выполните процесс обновления в VS 2010.

Когда обновление будет завершено, вы сможете открыть свое решение в VS 2010 (используя Original.sln) или в VS 2008 (используя OriginalVs2008.sln).

Просто помните, что вам нужно синхронизировать решения; если вы добавите проект в один, вам нужно будет добавить его в другой. Но я использовал эту технику для обмена проектами между VS 2005 и VS 2008, и она отлично работает. Я подтвердил, что проект, созданный в VS 2008, а затем преобразованный в VS 2010, все еще работает в VS 2008 с совместимым файлом решения.

2 голосов
/ 28 апреля 2010

Помимо того, что было упомянуто, посмотрите на .NET Framework 4 Проблемы миграции .

1 голос
/ 28 апреля 2010

Я перенес решение с 2005 на 2010 год пару дней назад.Никаких проблем, хотя это было решение с большим количеством небольших, простых, тестовых проектов.Вы не сможете открыть решение в 2005 году, хотя, как только вы выполните преобразование.

1 голос
/ 23 апреля 2010

Это изменит файл проекта и, следовательно, его нельзя будет открыть в более старых версиях Visual Studio без редактирования этого файла (или убедитесь, что у вас есть копии для каждой версии VS).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...