Значок Visual Studio Перенос, миграция и обновление проектов Visual Studio 2019

Это важно

Это не последняя версия Visual Studio. Чтобы скачать последний выпуск, посетите https://visualstudio.microsoft.com/downloads/ и просмотрите заметки о выпуске Visual Studio 2022.

Каждая новая версия 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 и повторите попытку. Дополнительные сведения о поддержке проектов в Visual Studio 2019 см. на странице "Назначение платформы и совместимость ".

Типы проекта

В следующем списке описана поддержка в Visual Studio 2019 для проектов, созданных в более ранних версиях.

Если вы не видите проект или тип файла, указанный здесь, обратитесь к версии Visual Studio 2017 этой статьи. Вы также можете использовать кнопку "Отправить и просмотреть отзыв" для>этой страницы в нижней части этой страницы для предоставления сведений о проекте. (Если вы используете анонимный элемент управления "Была ли эта страница полезна?", мы не можем отвечать на ваши отзывы.)

Тип проекта Support
Проекты .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 Web App и ASP.NET Core Web App с поддержкой Application Insights Для каждого пользователя Visual Studio сведения о ресурсах хранятся в реестре для каждого экземпляра пользователя. Эта информация используется, если у пользователя нет открытого проекта и требуется выполнить поиск данных Azure Application Insights. Visual Studio 2015 использует другое расположение реестра, чем Visual Studio 2017 и Visual Studio 2019 и не конфликтует.

Когда пользователь создает веб-приложение ASP.NET, ASP.NET Core Web App или ASP.NET Core Web Application, ресурс хранится в suo-файле. Пользователь может открыть проект в Visual Studio 2015, Visual Studio 2017 или Visual Studio 2019, а сведения о ресурсах используются для каждого, если Visual Studio поддерживает проекты и решения, используемые в обеих версиях. Пользователям необходимо пройти проверку подлинности один раз в каждом продукте. Например, если проект создается с помощью Visual Studio 2017 и открыт в Visual Studio 2019, пользователь должен пройти проверку подлинности в Visual Studio 2019.
Веб-форма C#/Visual Basic или Форма Windows Проект можно открыть в Visual Studio 2019, Visual Studio 2017 и Visual Studio 2015.
Закодированный тест пользовательского интерфейса Закодированный тест пользовательского интерфейса для автоматизированного функционального тестирования на основе пользовательского интерфейса не рекомендуется использовать в Visual Studio 2019.

Visual Studio 2019 будет последним выпуском для закодированного теста пользовательского интерфейса. Мы рекомендуем использовать Selenium для тестирования веб-приложений и Appium с WinAppDriver для тестирования классических приложений и приложений UWP.
Проекты модульного теста базы данных (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". Также см. расширение Набора инструментов WiX Visual Studio 2017. InstallShield Limited Edition больше не входит в состав Visual Studio. Проконсультируйтесь с Revenera о доступности Visual Studio 2019.
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 Чтобы открыть эти типы проектов, сначала установите пакет SDK Azure для .NET, а затем откройте проект. При необходимости проект обновляется.
Microsoft Test Manager Microsoft Test Manager и клиент обратной связи больше не отправляются в Visual Studio, начиная с Visual Studio 2019.

Используйте планы тестирования Azure (часть Azure DevOps) для ваших потребностей в ручном и исследовательском тестировании.
ПлатформаView-Controller модели (ASP.NET MVC) Поддержка версий MVC и Visual Studio:
  • Visual Studio 2010 с пакетом обновления 1 (SP1) поддерживает MVC 2 и MVC 3; Поддержка MVC 4 добавляется с помощью загрузки ASP.NET 4 MVC 4 для Visual Studio 2010 с пакетом обновления 1 (SP1)
  • Visual Studio 2012 поддерживает только MVC 3 и MVC 4
  • Visual Studio 2013 поддерживает только MVC 4 и MVC 5
  • Visual Studio 2019, Visual Studio 2017 и Visual Studio 2015 поддерживают MVC 4 (можно открывать существующие проекты, но не создавать новые) и MVC 5

Обновление версий MVC:
Modeling Если вы разрешаете Visual Studio автоматически обновлять проект, его можно открыть в Visual Studio 2015, Visual Studio 2013 или Visual Studio 2012.

Формат проекта моделирования не изменился с момента Visual Studio 2015, и проект можно открыть и изменить в этих версиях. Однако в Visual Studio 2017 и Visual Studio 2019 существуют различия в поведении:
  • Теперь проекты моделирования называются проектами "Проверка зависимостей" в меню и шаблонах.
  • Схемы UML больше не поддерживаются в Visual Studio 2017 и Visual Studio 2019. Файлы UML перечислены в обозревателе решений, как и раньше, но открываются как XML-файлы. Используйте Visual Studio 2015 для просмотра, создания и редактирования схем UML.
  • В Visual Studio 2019 проверка зависимостей архитектуры больше не выполняется при создании проекта моделирования. Вместо этого проверка выполняется по мере создания каждого проекта кода. Это изменение не влияет на проект моделирования, но требует изменений в проверяемых проектах кода. Visual Studio 2019 может автоматически вносить необходимые изменения в проекты кода.
Настройка MSI (vdproj) См. раздел InstallShield этой страницы.
Office 2007 VSTO Требуется одностороннее обновление для Visual Studio 2019.
Office 2010 VSTO Если проект предназначен для .NET Framework 4, его можно открыть в Visual Studio 2010 с пакетом обновления 1 (SP1) и более поздних версий. Для всех остальных проектов требуется односторонняя модернизация.
Переносимая библиотека классов (PCL) Переносимые библиотеки классов (или PCLS) теперь не поддерживаются. Visual Studio 2019 по-прежнему открывает и создает их, но создавать проекты PCL невозможно. Мы рекомендуем перенести код в проекте PCL в проект .NET Standard.

Поддержка PCL больше не будет включена по умолчанию, но будет доступна на вкладке Visual Studio "Отдельные компоненты".
Рабочая нагрузка Python Поддержка приложений Python Windows IoT Core была удалена в Visual Studio 2019. Так как в Visual Studio 2019 нет эквивалента, для таких проектов нет пути автоматической миграции.

Вы можете продолжать использовать Visual Studio 2017.
Средства R для Visual Studio Средства R для Visual Studio были удалены из рабочей нагрузки обработки и анализа данных в Visual Studio 2019.

Вы можете продолжать использовать Visual Studio 2017 или альтернативные варианты, такие как RStudio.
Service Fabric (sfproj) Проекты приложений Service Fabric можно открывать в Visual Studio 2015, Visual Studio 2017 и Visual Studio 2019, если проект приложения Service Fabric не ссылается на проект службы ASP.NET Core. Проекты Service Fabric из Visual Studio 2015, открытые в Visual Studio 2017 или Visual Studio 2019, переносятся из формата xproj в csproj. См. ".NET Core projects (xproj)" ранее в этой таблице.
SharePoint 2010 Когда проект решения SharePoint открыт с помощью Visual Studio 2019, он обновляется до SharePoint 2013 или SharePoint 2016. Для выполнения обновления необходимо установить компонент «.NET Desktop Development» в Visual Studio 2019.

Дополнительные сведения об обновлении проектов SharePoint см. в разделе "Обновление и обновление SharePoint".
SharePoint 2016 Проекты SharePoint Add-In, созданные в Предварительной версии 2 средств разработчика Office, нельзя открыть в Visual Studio 2019. Чтобы обойти это ограничение, обновите MinimumVisualStudioVersion его до версии 12.0 и MinimumOfficeToolsVersion до 12.2 в файле csproj vbproj.
Silverlight Проекты Silverlight не поддерживаются в Visual Studio 2019. Чтобы поддерживать приложения Silverlight, продолжайте использовать Visual Studio 2015.
SQL — Redgate Redgate Sql Change Automation Core (ранее называется ReadyRoll Core), SQL Prompt Core и поиск SQL больше не отправляются в установщик Visual Studio.

Вы можете продолжать использовать Visual Studio 2017 для этих функций. В Visual Studio 2019 вы можете перейти на платные продукты службы автоматизации изменений SQL и SQL Prompt, доступные в средстве Sql Toolbelt Redgate.
СЛУЖБЫ 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 Проекты с minimumVersion 14.0 или меньше обновляются для объявления MinimumVersion 15.0, что предотвращает открытие проекта в более ранних версиях Visual Studio. Чтобы разрешить проекту открываться в более ранних версиях, задайте для параметра MinimumVersion значение $(VisualStudioVersion). См. также практическое руководство. Перенос проектов расширяемости в Visual Studio 2017.
Управление лабораторией Visual Studio С помощью Microsoft Test Manager или Visual Studio 2010 с пакетом обновления 1 (SP1) можно открыть среды, созданные в любой из этих версий. Однако для Visual Studio 2010 с пакетом обновления 1 (SP1) версия Microsoft Test Manager должна соответствовать версии Team Foundation Server, прежде чем создавать среды. (Важно: 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 (SP1).
Приложения Windows Phone Проекты для Windows Phone не поддерживаются в 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.

Пакеты SDK для Windows 10 до обновления Windows 10 Fall Creators Update (сборка 16299) были удалены из установщика Visual Studio 2019. Старые пакеты SDK можно скачать вручную или перенаправить проекты для использования новых пакетов 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 для Android удален из установщика Visual Studio. Вместо этого используйте новую Hyper-V поддержку в эмуляторе Google Android.

Перенос проекта

Хотя мы стараемся поддерживать совместимость с предыдущими версиями, могут быть изменения, несовместимые с предыдущими версиями. (См. целевая платформа и совместимость , в которых поддерживаются типы проектов в 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 может вызвать цепочку инструментов для сборки проекта.

Для обеспечения совместимости с проектами, созданными в предыдущих версиях, Visual Studio 2019 включает необходимые цепочки инструментов MSBuild для поддержки ToolsVersion 15, 14, 12 и 4. Проекты, использующие любое из этих ToolsVersion значений, должны привести к успешной сборке. (Тема, опять же, о том, поддерживает ли Visual Studio 2019 тип проекта, как описано в разделе "Назначение платформы и совместимость".)

Может потребоваться вручную обновить или перенести проект в новое ToolsVersion значение. Это не обязательно сделать такое изменение, и, скорее всего, создаст много ошибок и предупреждений, которые необходимо исправить, чтобы получить проект для повторной сборки. Кроме того, если Visual Studio не поддерживает конкретный объект ToolsVersion в будущем, проект активирует процесс миграции проекта при открытии, так как его ToolsVersion значение должно быть изменено.

Дальнейшие шаги

Дополнительные сведения см. в следующих статьях:

См. также