다음을 통해 공유


Visual Studio 아이콘 Visual Studio 2019 포트, 마이그레이션 및 업그레이드 프로젝트

중요합니다

이것은 최신 버전의 Visual Studio가 아닙니다. 최신 릴리스를 다운로드하려면 https://visualstudio.microsoft.com/downloads/ 참조 하세요.

각 새 버전의 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 파일을 열면 파일을 SDK 스타일 csproj 형식으로 마이그레이션하라는 메시지가 표시됩니다. (xproj 파일의 백업이 만들어집니다.) SDK 스타일 csproj 프로젝트는 Visual Studio 2015 및 이전 버전에서 지원되지 않습니다.

Visual Studio 2019: 버전 16.3 이상에서는 xproj 프로젝트를 로드하거나 마이그레이션할 수 없습니다. 자세한 내용은 .NET Core 프로젝트를 csproj 형식으로 마이그레이션을 참조하세요.
Application Insights를 사용하도록 설정된 Core Web App 및 ASP.NET Core Web App ASP.NET 각 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 Form Visual Studio 2019, Visual Studio 2017 및 Visual Studio 2015에서 프로젝트를 열 수 있습니다.
코딩된 UI 테스트 자동화된 UI 기반 기능 테스트를 위한 코딩된 UI 테스트는 Visual Studio 2019에서 더 이상 사용되지 않습니다.

Visual Studio 2019는 코딩된 UI 테스트의 마지막 릴리스입니다. 데스크톱 및 UWP 앱을 테스트하기 위해 WinAppDriver에서 웹앱 및 Appium을 테스트하는 데 Selenium을 사용하는 것이 좋습니다.
데이터베이스 단위 테스트 프로젝트(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에 더 이상 포함되지 않습니다. 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와 같은 대체 부하 테스트 도구를 사용합니다.
Visual Studio용 Microsoft Azure 도구 이러한 유형의 프로젝트를 열려면 먼저 .NET용 Azure SDK를 설치한 다음 프로젝트를 엽니다. 필요한 경우 프로젝트가 업데이트됩니다.
Microsoft Test Manager Microsoft Test Manager 및 Feedback Client는 Visual Studio 2019부터 Visual Studio에서 더 이상 배송되지 않습니다.

수동 및 예비 테스트 요구 사항에 Azure 테스트 계획(Azure DevOps의 일부)을 활용합니다.
모델-View-Controller 프레임워크(ASP.NET MVC) MVC 버전 및 Visual Studio에 대한 지원:
  • Visual Studio 2010 SP1은 MVC 2 및 MVC 3을 지원합니다. Visual Studio 2010 SP1 다운로드용 ASP.NET 4 MVC 4를 통해 MVC 4 지원이 추가됨
  • 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 SP1 이상에서 열 수 있습니다. 다른 모든 프로젝트에는 단방향 업그레이드가 필요합니다.
PCL(이식 가능한 클래스 라이브러리) 이제 이식 가능한 클래스 라이브러리(또는 PCL)가 지원되지 않습니다. Visual Studio 2019는 계속 열리고 빌드되지만 새 PCL 프로젝트를 만들 수는 없습니다. PCL 프로젝트의 코드를 .NET Standard 프로젝트로 마이그레이션하는 것이 좋습니다.

PCL 지원은 더 이상 기본적으로 포함되지 않지만 Visual Studio "개별 구성 요소" 탭에서 사용할 수 있습니다.
Python 워크로드 Python Windows IoT Core 앱에 대한 지원은 Visual Studio 2019에서 제거되었습니다. Visual Studio 2019에는 동등한 항목이 없으므로 이러한 프로젝트에 대한 자동 마이그레이션 경로가 없습니다.

Visual Studio 2017을 계속 사용할 수 있습니다.
Visual Studio용 R 도구 Visual Studio용 R 도구가 Visual Studio 2019의 데이터 과학 워크로드에서 제거되었습니다.

Visual Studio 2017 또는 RStudio와 같은 대안을 계속 사용할 수 있습니다.
Service Fabric(sfproj) Service Fabric 애플리케이션 프로젝트가 ASP.NET Core 서비스 프로젝트를 참조하지 않는 한 Service Fabric 애플리케이션 프로젝트는 Visual Studio 2015, Visual Studio 2017 및 Visual Studio 2019에서 열 수 있습니다. Visual Studio 2017 또는 Visual Studio 2019에서 열린 Visual Studio 2015의 Service Fabric 프로젝트는 xproj 형식에서 csproj로 단방향으로 마이그레이션됩니다. 이 표의 앞부분에 있는 ".NET Core 프로젝트(xproj)"를 참조하세요.
SharePoint 2010 Visual Studio 2019를 사용하여 SharePoint 솔루션 프로젝트를 열면 SharePoint 2013 또는 SharePoint 2016으로 업그레이드됩니다. 업그레이드를 위해 Visual Studio 2019에 ".NET 데스크톱 개발" 워크로드를 설치해야 합니다.

SharePoint 프로젝트를 업그레이드하는 방법에 대한 자세한 내용은 SharePoint 업그레이드 및 업데이트를 참조하세요.
SharePoint 2016 Office 개발자 도구 미리 보기 2에서 만든 SharePoint Add-In 프로젝트는 Visual Studio 2019에서 열 수 없습니다. 이 제한을 해결하려면 csproj vbproj 파일에서 12.0 및 MinimumVisualStudioVersion 12.2로 업데이트 MinimumOfficeToolsVersion 합니다.
Silverlight Visual Studio 2019에서는 Silverlight 프로젝트가 지원되지 않습니다. Silverlight 애플리케이션을 유지 관리하려면 Visual Studio 2015를 계속 사용합니다.
SQL - Redgate Redgate의 SQL Change Automation Core(이전에 ReadyRoll Core라고 함), SQL 프롬프트 코어 및 SQL Search는 Visual Studio 설치 관리자에서 더 이상 전달되지 않습니다.

이러한 기능에 대해 Visual Studio 2017을 계속 사용할 수 있습니다. Visual Studio 2019에서는 Redgate의 SQL 도구 벨트에서 사용할 수 있는 유료 SQL 변경 자동화 및 SQL 프롬프트 제품으로 업그레이드할 수 있습니다.
SQL Server Reporting Services 및 SQL Server Analysis Services(SSRS, SSDT, SSAS, MSAS) 이러한 프로젝트 유형에 대한 지원은 Visual Studio 갤러리의 두 가지 확장인 Microsoft Analysis Services 프로젝트Microsoft Reporting Services Projects를 통해 제공됩니다. SSDT 지원은 Visual Studio 2019의 데이터 스토리지 및 처리 워크로드에도 포함됩니다. 자세한 내용은 Visual Studio용 SSDT(SQL Server Data Tools) 다운로드 및 설치 페이지를 참조하세요.
SSIS(SQL Server Integration Services) Visual Studio 2019에 대한 지원을 사용할 수 있습니다. 자세한 내용은 Visual Studio용 SSDT(SQL Server Data Tools) 다운로드 및 설치 페이지, SSIS(SQL Server Integration Services) 팀 블로그 및 Marketplace의 SQL Server Integration Services 프로젝트 페이지를 참조하세요.
테스트 창 확장 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 Lab Management Microsoft Test Manager 또는 Visual Studio 2010 SP1 이상을 사용하여 이러한 버전에서 만든 환경을 열 수 있습니다. 그러나 Visual Studio 2010 SP1의 경우 환경을 만들려면 먼저 Microsoft Test Manager 버전이 Team Foundation Server 버전과 일치해야 합니다. (중요: Team Foundation Server 또는 TFS는 이제 Azure DevOps Server라고 합니다.)
Apache Cordova용 Visual Studio Tools Visual Studio 2019에서 Apache Cordova에 대한 지원이 제거되었습니다. Visual Studio 2019에는 동등한 항목이 없으므로 이러한 프로젝트에 대한 자동 마이그레이션 경로가 없습니다.

Visual Studio Code 확장용 Cordova Tools(최신 버전의 Cordova 지원)를 사용하거나 Visual Studio 2017을 계속 사용할 수 있습니다.
웹 배포(wdproj) 웹 배포 프로젝트에 대한 지원은 게시 프로필 지원이 추가되어 Visual Studio 2012에서 제거되었습니다. Visual Studio 2019에는 동등한 항목이 없으므로 이러한 프로젝트에 대한 자동 마이그레이션 경로가 없습니다. 대신, 텍스트 편집기에서 wdproj 파일을 열고 StackOverflow에 설명된 대로 모든 사용자 지정을 pubxml(게시 프로필) 파일에 복사하여 붙여넣습니다.
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 SP1에서 이 프로젝트를 열 수 있습니다.
Windows Phone 앱 Windows Phone용 프로젝트는 Visual Studio 2019에서 지원되지 않습니다.

Windows Phone 8.x 앱을 유지하려면 Visual Studio 2015를 사용합니다. Windows Phone 7.x 프로젝트를 유지하려면 Visual Studio 2012를 사용합니다.
Windows 스토어 앱 JavaScript 유니버설 Windows 프로젝트는 Visual Studio 2019에서 지원되지 않습니다. 이러한 프로젝트를 유지하려면 Visual Studio 2017을 사용합니다.

Windows 10 Fall Creators Update(빌드 16299) 이전의 Windows 10 SDK가 Visual Studio 2019 설치 관리자에서 제거되었습니다. 이전 SDK를 수동으로 다운로드하거나 프로젝트의 대상을 변경하여 최신 SDK를 사용할 수 있습니다.

project.json 사용하는 유니버설 Windows 프로젝트는 지원되지 않습니다. 패키지 참조를 사용하도록 이러한 프로젝트를 업그레이드하는 것이 좋습니다. 또는 project.json 파일에서 Microsoft.NET.Test.Sdk 버전 16.0.0.0에 대한 참조를 추가합니다.

Windows 스토어 8.1 및 8.0용 프로젝트는 Visual Studio 2019에서 지원되지 않습니다. 이러한 앱을 유지하려면 Visual Studio 2015를 계속 사용합니다.
Xamarin Visual Studio 및 Mac용 Visual Studio용 Xamarin Live Player 확장이 제거되었습니다. 그러면 페어링 화면과 모든 통합이 제거됩니다. 대신 기본 제공 Xamarin.Forms 미리 보기를 사용합니다.

Android용 Visual Studio 에뮬레이터가 Visual Studio 설치 관리자에서 제거되었습니다. 대신 Google Android 에뮬레이터에서 새 Hyper-V 지원을 사용합니다.

프로젝트 마이그레이션

이전 버전과의 호환성을 유지하려고 하지만 이전 버전과 호환되지 않는 변경 내용이 있을 수 있습니다. (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 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 버전에 프로젝트의 버전과 일치하는 ToolsVersion MSBuild 도구 체인이 포함된 경우 Visual Studio는 해당 도구 체인을 호출하여 프로젝트를 빌드할 수 있습니다.

이전 버전에서 만든 프로젝트와의 호환성을 유지하기 위해 Visual Studio 2019에는 15, 14, 12 및 4를 지원하는 ToolsVersion 데 필요한 MSBuild 도구 체인이 포함되어 있습니다. 이러한 ToolsVersion 값을 사용하는 프로젝트는 빌드에 성공해야 합니다. ( 플랫폼 대상 지정 및 호환성에 설명된 대로 Visual Studio 2019에서 프로젝트 형식을 지원하는지 여부에 대한 제목입니다.)

프로젝트를 새 값으로 수동으로 업데이트하거나 마이그레이션하려는 ToolsVersion 경우 이러한 변경을 수행할 필요가 없으며 프로젝트를 다시 빌드하기 위해 수정해야 하는 많은 오류와 경고가 생성될 수 있습니다. 또한 Visual Studio에서 나중에 특정 ToolsVersion 항목을 지원하지 않는 경우 해당 값을 변경해야 하므로 ToolsVersion 프로젝트를 열 때 프로젝트 마이그레이션 프로세스가 트리거됩니다.

다음 단계

자세한 내용은 다음 문서를 참조하세요.

참고하십시오