Подтвердить что ты не робот

Какие проблемы могут возникнуть при открытии проектов .NET 2.0 в Visual Studio 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.

4b9b3361

Ответ 1

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

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

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

Ответ 2

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

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

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

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

Ответ 3

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

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

Кроме этого, я не ожидал бы никаких проблем.

Ответ 5

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

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

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

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

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

Ответ 6

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

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

Уже импортирована сборка с тем же идентификатором 'mscorlib, Version = 2.0.5.0, Culture = neutral, 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. Вторая ошибка:

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

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

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

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

Ответ 7

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

Ответ 8

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