Перенос, миграция и обновление проектов Visual Studio 2019
Сообщество разработчиков Системные требования к | совместимости | распространяемого кода | с | условиями лицензионного соглашения | |
Каждая новая версия Visual Studio поддерживает большую часть типов проектов, файлов и других ресурсов. С ними можно работать как обычно, при условии, что вы не зависите от новых функций.
Совет
Если вы ищете сведения о следующем выпуске, см. версию этой страницы для Visual Studio 2022.
Мы стараемся сохранить обратную совместимость с предыдущими версиями, такими как Visual Studio 2017, Visual Studio 2015, Visual Studio 2013 и Visual Studio 2012. Однако поддержка некоторых типов проектов также со временем меняется. Новейшая версия Visual Studio может не поддерживать некоторые проекты или же потребовать обновить проект так, что он больше не будет обратно совместимым.
Примечание.
Текущее состояние проблем с миграцией см. в сообществе разработчиков Visual Studio. Просмотрите заметки о выпуске, чтобы узнать, какие функции к какой версии Visual Studio относятся.
Важно!
Некоторые типы проектов требуют конкретных рабочих нагрузок. При отсутствии установленной рабочей нагрузки Visual Studio сообщает о неизвестном или несовместимом типе проекта. В этом случае проверьте параметры установки в Visual Studio Installer и повторите попытку. Дополнительные сведения о поддержке проектов в Visual Studio 2019 см. в статье Целевая платформа и совместимость для Visual Studio 2019.
Типы проекта
В следующем списке описывается поддержка проектов Visual Studio 2019, созданных в более ранних версиях.
Если здесь отсутствует проект или тип файла, который должен быть, проверьте версию Visual Studio 2017 в этом разделе. Вы также можете использовать кнопку "Отправить и просмотреть отзыв" для>этой страницы в нижней части этой страницы для предоставления сведений о проекте. (Если вы используете анонимный элемент управления "Была ли эта страница полезна?", мы не можем отвечать на ваши отзывы.)
Тип проекта | Поддержка |
---|---|
Проекты .NET Core (XPROJ) | В проектах, созданных в Visual Studio 2015, использовались предварительные версии средств, включающие XPROJ-файл проекта. Visual Studio 2017: формат xproj не поддерживается, кроме переноса в формат csproj. При открытии XPROJ-файла вам будет предложено перенести файл в формат CSPROJ в стиле SDK. (Создается резервная копия xproj-файла.) Проекты csproj в стиле ПАКЕТА SDK не поддерживаются в Visual Studio 2015 и более ранних версиях. Visual Studio 2019: в версии 16.3 и более поздних версиях нельзя загружать или переносить проекты xproj. Дополнительные сведения см. в статье Перенос проектов .NET Core в формат .csproj. |
Веб-приложение ASP.NET Core и веб-приложение ASP.NET Core с включенной службой Application Insights | В Visual Studio сведения о ресурсах хранятся в реестре для каждого экземпляра пользователя. Эти сведения используются, если пользователь хочет найти данные Azure Application Insights, не открывая проект. Visual Studio 2015 использует другое расположение реестра, чем Visual Studio 2017 и Visual Studio 2019 и не конфликтует. Когда пользователь создает веб-приложение ASP.NET или веб-приложение ASP.NET Core, ресурс сохраняется в SUO-файл. Пользователь может открыть проект в Visual Studio 2015, Visual Studio 2017 или Visual Studio 2019, и сведения о ресурсе будут использоваться в каждой версии до тех пор, пока Visual Studio поддерживает проекты и решения, используемые в обеих версиях. Пользователям требуется пройти проверку подлинности один раз в каждой версии продукта. Например, если проект создается в Visual Studio 2017 и открывается в Visual Studio 2019, пользователю требуется пройти проверку подлинности в Visual Studio 2019. |
Веб-форма или форма Windows C#/Visual Basic | Проект можно открыть в Visual Studio 2019, Visual Studio 2017 и Visual Studio 2015. |
Закодированный тест ИП | Закодированный тест пользовательского интерфейса для автоматизированного функционального тестирования на основе интерфейса пользователя признан нерекомендуемым в Visual Studio 2019. Visual Studio 2019 станет последней версией решения, в которой поддерживается закодированный тест пользовательского интерфейса. Мы рекомендуем использовать Selenium для тестирования веб-приложений и Appium с WinAppDriver для тестирования классических приложений и приложений универсальной платформы Windows. |
Проекты модульных тестов базы данных (CSPROJ, VBPROJ) | Старые проекты модульных тестов данных загружаются в Visual Studio 2019, но используют GAC-версию зависимостей. Чтобы обновить проект модульного теста для использования последних зависимостей, щелкните проект правой кнопкой мыши в обозревателе решений и выберите Преобразовать в проект модульного тестирования SQL Server. |
F# | Visual Studio 2019 поддерживает открытие проектов, созданных в Visual Studio 2013, Visual Studio 2015 и Visual Studio 2017. Ключевое отличие старых шаблонов Visual Studio для новых проектов заключается в том, что версия FSharp.Core сейчас всегда представляет собой пакет NuGet. F# устанавливается по умолчанию с любой рабочей нагрузкой .NET. |
InstallShield Установка MSI |
Проекты установщика, созданные в Visual Studio 2010, можно открывать в более поздних версиях с помощью расширения Visual Studio Installer Projects. Также см. сведения о расширении набора инструментов WiX для Visual Studio 2017. InstallShield Limited Edition больше не входит в состав Visual Studio. Проверьте доступность Visual Studio 2019 с помощью Revenera . |
LightSwitch | LightSwitch больше не поддерживается в Visual Studio 2022, Visual Studio 2019 или Visual Studio 2017. Проекты, созданные в Visual Studio 2012 и более ранних версиях и открытые в Visual Studio 2013 или Visual Studio 2015, обновляются и могут быть открыты только в Visual Studio 2013 или Visual Studio 2015. |
Нагрузочное тестирование | Возможности веб-тестов и нагрузочных тестов устарели в Visual Studio 2019 и более поздних версиях. Visual Studio 2019 станет последней версией решения, в которой поддерживается нагрузочное тестирование. В связи с этим следует использовать альтернативные средства нагрузочного тестирования, такие как Apache JMeter, Akamai CloudTest, Blazemeter. |
Инструменты Microsoft Azure для Visual Studio | Для открытия этих типов проектов сначала установите пакет Azure SDK для .NET, а затем откройте соответствующий проект. При необходимости проект будет обновлен. |
Microsoft Test Manager | Начиная с Visual Studio 2019, Microsoft Test Manager и Feedback Client не поставляются в составе Visual Studio. Для нужд ручного и произвольного тестирования используйте Azure Test Plans (в составе Azure DevOps). |
Платформа MVC ("модель-представление-контроллер") (ASP.NET MVC) | Поддержка версий MVC и Visual Studio:
Обновление версий MVC:
|
Моделирование | Если разрешить автоматическое обновление проекта в Visual Studio, его можно открыть в Visual Studio 2015, Visual Studio 2013 или Visual Studio 2012. Формат проекта моделирования не изменился с момента Visual Studio 2015, и проект можно открыть и изменить в этих версиях. Но в Visual Studio 2017 и Visual Studio 2019 существуют различия в поведении:
|
Установка MSI (VDPROJ) | См. раздел InstallShield этой страницы. |
Office 2007 VSTO | Требует одностороннего обновления до Visual Studio 2019. |
Office 2010 VSTO | Если проект предназначен для платформы .NET Framework 4, его можно открыть в Visual Studio 2010 с пакетом обновления 1 (SP1). Все остальные проекты требуют одностороннего обновления. |
Переносимая библиотека классов (PCL) | Переносимые библиотеки классов (или PCL) теперь не поддерживаются. Visual Studio 2019 по-прежнему открывает и создает их, но создавать проекты PCL невозможно. Рекомендуется выполнить перенос кода в проекте PCL в проект .NET Standard. Поддержка PCL более не будет включена по умолчанию, однако будет доступна на вкладке "Отдельные компоненты" в Visual Studio. |
Рабочая нагрузка Python | В Visual Studio 2019 прекращена поддержка приложений Python Windows IoT Core. Так как в Visual Studio 2019 нет эквивалента, для таких проектов нет пути автоматической миграции. Вы можете по-прежнему использовать Visual Studio 2017. |
Инструменты R для Visual Studio | В Visual Studio 2019 Инструменты R для Visual Studio были исключены из рабочей нагрузки обработки и анализа данных. Вы можете по-прежнему использовать Visual Studio 2017 или такие альтернативные решения, как RStudio. |
Service Fabric (SFPROJ) | Проекты приложения Service Fabric можно открывать как в Visual Studio 2015, так и в Visual Studio 2017 или Visual Studio 2019, но проект приложения Service Fabric не должен ссылаться на проект службы ASP.NET Core. При открытии в Visual Studio 2017 или Visual Studio 2019 проектов Service Fabric, созданных в Visual Studio 2015, выполняется односторонний перенос из формата XPROJ в CSPROJ. См. сведения о проектах .NET Core (XPROJ) выше в этой таблице. |
SharePoint 2010 | Когда вы открываете проект SharePoint в Visual Studio 2019, он обновляется до SharePoint 2013 или SharePoint 2016. Для этого обновления в Visual Studio 2019 должна быть установлена рабочая нагрузка "Разработка классических приложений .NET". Дополнительные сведения об обновлении проектов SharePoint см. в Обновление SharePoint. |
SharePoint 2016 | Проекты надстроек SharePoint, созданные в Office Developer Tools Preview 2, не могут быть открыты в Visual Studio 2019. Чтобы обойти это ограничение, в файле CSPROJ VBPROJ для MinimumVisualStudioVersion укажите 12.0, а для MinimumOfficeToolsVersion — значение 12.2. |
Silverlight | Проекты Silverlight не поддерживаются в Visual Studio 2019. Для поддержки приложений Silverlight продолжайте использовать Visual Studio 2015. |
SQL — Redgate | Компоненты Redgate SQL Change Automation Core (прежнее название ReadyRoll Core), SQL Prompt Core и SQL Search более не поставляются вместе с установщиком Visual Studio. Вы можете по-прежнему использовать Visual Studio 2017, где эти возможности доступны. В Visual Studio 2019 вы можете выполнить обновление до платных продуктов SQL Change Automation и SQL Prompt, которые доступны в составе решения Redgate SQL Toolbelt. |
Службы SQL Server Reporting Services и службы SQL Server Analysis Services (SSRS, SSDT, SSAS, MSAS) | Поддержка этих типов проектов предоставляется через два расширения в коллекции Visual Studio: проекты Microsoft Analysis Services и проекты Служб Microsoft Reporting Services. Поддержка SSDT также включена в рабочую нагрузку хранения и обработки данных в Visual Studio 2019. Дополнительную информацию см. на странице Скачивание и установка SQL Server Data Tools (SSDT) для Visual Studio. |
SQL Server Integration Services (SSIS); | Добавлена поддержка Visual Studio 2019. Подробнее см. в руководстве по скачиванию и установке SQL Server Data Tools (SSDT) для Visual Studio, записи блога команды разработчиков SQL Server Integration Services (SSIS), а также на странице проектов SQL Server Integration Services в Marketplace. |
Расширение окна теста | В Visual Studio 2019 были удалены некоторые API окон тестирования, которые были ранее помечены как общедоступные, но не были задокументированы официально. Эти API были помечены как "нерекомендуемые" в Visual Studio 2017, чтобы заранее предупредить группы обслуживания расширений. Насколько нам известно, с этими API была связана лишь незначительная часть расширений. Дополнительные сведения и обновления см. в полном списке устаревших API для тестирования. Если это влияет на ваш сценарий, сообщите нам об этом через Сообщество разработчиков Visual Studio. |
Visual C++ | Visual Studio 2019 можно использовать для работы в проектах, которые созданы в более ранних версиях Visual Studio (до Visual Studio 2010). При первом открытии проекта вы можете выполнить обновление до последней версии компилятора и набора инструментов или продолжить использование исходную версию. Если вы решили продолжать использовать исходные, Visual Studio 2019 не изменяет файл проекта и использует набор инструментов из предыдущей установки Visual Studio для сборки проекта. Сохранение исходных параметров означает, что при необходимости вы по-прежнему можете открывать проект в исходной версии Visual Studio. Дополнительные сведения см. в разделе Использование собственного многоплатформенного нацеливания в Visual Studio для сборки старых проектов. |
Расширяемость Visual Studio/VSIX | Проекты с минимальной версией 14.0 или меньше обновляются до минимальной версии 15.0, что не позволяет открывать проекты в более ранних версиях Visual Studio. Чтобы открыть проект в более ранних версиях, задайте $(VisualStudioVersion) в качестве значения минимальной версии. См. также Практическое руководство. Перенос проектов расширяемости в Visual Studio 2017. |
Visual Studio Lab Management | Microsoft Test Manager или Visual Studio 2010 с пакетом обновления 1 (SP1) можно использовать для открытия сред, которые были созданы в какой-либо из этих версий. Но версия Microsoft Test Manager должна соответствовать версии Visual Studio 2010 с пакетом обновления 1 (SP1), чтобы можно было создавать среды. (Важно: Team Foundation Server или TFS теперь называется Azure DevOps Server.) |
Набор средств Visual Studio для Apache Cordova. | В Visual Studio 2019 была прекращена поддержка Apache Cordova. Так как в Visual Studio 2019 нет эквивалента, для таких проектов нет пути автоматической миграции. Вы можете использовать расширение средств Cordova для Visual Studio Code, которое обеспечивает поддержку последней версии Cordova, либо продолжить использовать Visual Studio 2017. |
Веб-развертывание (WDPROJ) | Поддержка проектов веб-развертывания прекращена, начиная с Visual Studio 2012, а вместо нее добавлена поддержка профиля публикации. Так как в Visual Studio 2019 нет эквивалента, для таких проектов нет пути автоматической миграции. Вместо этого откройте в текстовом редакторе файл WDPROJ, скопируйте любые настройки и вставьте их в файл PUBXML (профиль публикации), как описано на сайте StackOverflow. |
Windows Communication Foundation, Windows Workflow Foundation | Этот проект можно открыть в Visual Studio 2019, Visual Studio 2017, Visual Studio 2015, Visual Studio 2013 и Visual Studio 2012. |
Windows Presentation Foundation | Этот проект можно открыть в Visual Studio 2019, Visual Studio 2017, Visual Studio 2013, Visual Studio 2012 и Visual Studio 2010 с пакетом обновления 1. |
Приложения Windows Phone | Проекты для Windows Телефон не поддерживаются в Visual Studio 2019. Для поддержки приложений Windows Phone 8.x используйте Visual Studio 2015. Для поддержки проектов Windows Phone 7.x используйте Visual Studio 2012. |
Приложения Магазина Windows | Универсальные проекты Windows JavaScript не поддерживаются в Visual Studio 2019. Для поддержки этих проектов используйте Visual Studio 2017. Из установщика Visual Studio 2019 были исключены версии пакетов SDK Windows 10, предшествующие обновлению Windows 10 Fall Creators Update (сборка 16299). Вы можете вручную скачать старые версии таких пакетов SDK или использовать их более новые версии. Универсальные проекты Windows с помощью project.json не поддерживаются. Рекомендуется обновить эти проекты так, чтобы в них использовались ссылки на пакеты. Кроме того, вы можете добавить ссылку на файл Microsoft.NET.Test.Sdk версии 16.0.0.0 в файл project.json. Проекты для Магазина Windows 8.1 и 8.0 не поддерживаются в Visual Studio 2019. Для поддержки этих приложений продолжайте использовать Visual Studio 2015. |
Xamarin | Было исключено расширение Xamarin Live Player для Visual Studio и Visual Studio для Mac. В результате этого были удалены экран связывания и возможности интеграции. Вместо этого используйте встроенный средство предварительной версии Xamarin.Forms. Из Visual Studio Installer был удален эмулятор Visual Studio для Android. Вместо него следует использовать новые возможности поддержки Hyper-V в Google Android Emulator. |
Перенос проекта
Хотя мы пытаемся сохранить совместимость с предыдущими версиями, существуют изменения, из-за которых некоторые типы проектов могут больше не поддерживаться. (См. раздел Назначение платформы и совместимость , для которых типы проектов поддерживаются в Visual Studio 2019.) В этом случае более новая версия Visual Studio не загружает проект или предлагает путь миграции. С этим проектом необходимо будет работать в предыдущей версии Visual Studio.
Иногда проект может открываться в более новой версии Visual Studio, но он должен быть обновлен или перенесен, из-за чего может стать несовместимым с предыдущими версиями. Visual Studio использует следующие критерии, чтобы определить, требуется ли такая миграция:
совместимость с целевыми версиями платформ вплоть до Visual Studio 2013 RTM;
совместимость ресурсов времени разработки с предыдущими версиями Visual Studio (А именно разные каналы Visual Studio 2019, Visual Studio 2017; Visual Studio 2015 RTM и обновление 3; Visual Studio 2013 RTM и обновление 5; Visual Studio 2012 с обновлением 4; Visual Studio 2010 с пакетом обновления 1 (SP 1).) Visual Studio 2019 направлена на сбой с устаревшими ресурсами времени разработки без повреждения этих ресурсов, так что предыдущие версии по-прежнему могут открывать проект.
нарушение совместимости с предыдущими версиями вплоть до Visual Studio 2013 RTM и с обновлением 5 из-за новых ресурсов времени разработки.
Группа разработчиков проекта оценивает эти критерии и создает запрос, если есть необходимость в поддержке, обеспечении совместимости и миграции. Мы пытаемся обеспечивать совместимость между версиями Visual Studio, чтобы проекты, создаваемые в одной версии Visual Studio, могли работать и в других версиях.
Иногда такая совместимость невозможна. Тогда в Visual Studio открывается мастер обновления для внесения необходимых односторонних изменений. Одним из этих односторонних изменений может быть изменение свойства ToolsVersion
в файле проекта. Оно указывает, какая именно версия MSBuild может преобразовывать исходный код проекта в требуемые выполняемые и развертываемые артефакты.
То, что отрисовывает проект, несовместимый с предыдущими версиями Visual Studio, не является версией Visual Studio , но версией MSBuild , как определено ToolsVersion
. Если ваша версия Visual Studio включает в себя цепочку инструментов MSBuild, соответствующую значению свойства ToolsVersion
в проекте, то она может вызывать эту цепочку инструментов для сборки проекта.
С целью обеспечения совместимости с проектами, созданными в предыдущих версиях, Visual Studio 2019 включает в себя необходимые цепочки инструментов MSBuild для поддержки значений ToolsVersion
15, 14, 12 и 4. Сборка проектов, в которых используется любое из этих значений ToolsVersion
, должна выполняться успешно. (При этом необходимо учитывать, поддерживает ли Visual Studio 2019 данный тип проекта, как описано в статье Целевая платформа и совместимость для Visual Studio 2019.)
Вы можете вручную обновить или перенести проект на более новую версию ToolsVersion
. Такое изменение не является обязательным и, скорее всего, приведет ко множеству ошибок и предупреждений, которые потребуется исправить, чтобы сборка проекта снова стала возможной. Кроме того, если в Visual Studio перестанет поддерживаться определенная версия ToolsVersion
, при открытии проекта будет запущен процесс его миграции, так как значение ToolsVersion
должно быть изменено.
Следующие шаги
Дополнительные сведения см. в следующих статьях: