Visual Studio 2019 버전 16.3 릴리스 정보
개발자 커뮤니티 | 시스템 요구 사항 | 호환성 | 배포 가능 코드 | 릴리스 기록 | 사용 조건 | 블로그 Visual Studio Docs | 의 새로운 기능
참고 항목
이것은 최신 버전의 Visual Studio가 아닙니다. 최신 릴리스를 다운로드하려면 Visual Studio 사이트를 방문하세요.
Visual Studio 2019 버전 16.3의 새로운 기능
지원 기간
이 버전은 이제 지원되지 않습니다. Visual Studio 지원에 대한 자세한 내용은 Visual Studio 2019에 대한 지원 정책을 검토하세요.
최신 버전의 릴리스 정보를 참조하거나 Visual Studio 사이트를 방문하여 지원되는 최신 버전의 Visual Studio 2019를 다운로드합니다.
Visual Studio 2019 버전 16.3 릴리스
- 2019년 11월 20일 - Visual Studio 2019 버전 16.3.10
- 2019년 11월 12일 - Visual Studio 2019 버전 16.3.9
- 2019년 11월 5일 - Visual Studio 2019 버전 16.3.8
- 2019년 10월 29일 - Visual Studio 2019 버전 16.3.7
- 2019년 10월 22일 - Visual Studio 2019 버전 16.3.6
- 2019년 10월 15일 - Visual Studio 2019 버전 16.3.5
- 2019년 10월 10일 - Visual Studio 2019 버전 16.3.4
- 2019년 10월 8일 - Visual Studio 2019 버전 16.3.3
- 2019년 10월 1일 - Visual Studio 2019 버전 16.3.2
- 2019년 9월 25일 - Visual Studio 2019 버전 16.3.1
- 2019년 9월 23일 - Visual Studio 2019 버전 16.3.0
보관된 릴리스 정보
- Visual Studio 2019 버전 16.2 릴리스 정보
- Visual Studio 2019 버전 16.1 릴리스 정보
- Visual Studio 2019 버전 16.0 릴리스 정보
Visual Studio 2019 블로그
Visual Studio 2019 블로그는 Visual Studio 엔지니어링 팀에서 제공하는 제품 인사이트에 대한 공식적인 정보원입니다. 다음 게시물에서 Visual Studio 2019 릴리스에 대한 자세한 정보를 찾을 수 있습니다.
- Visual Studio 2019 버전 16.3의 .NET Core 지원 및 기타 기능 - 지금 업데이트!
- Visual Studio 2019 버전 16.3 미리 보기 2 및 Mac용 Visual Studio 2019 버전 8.3 미리 보기 2가 릴리스되었습니다.
- Visual Studio 2019 버전 16.2 및 16.3 미리 보기 1 출시
- Visual Studio 2019 버전 16.2 미리 보기 2
- Visual Studio 2019 버전 16.1 및 미리 보기 16.2 미리 보기
- Visual Studio 2019: 코드를 더 빠르게 실행합니다. 스마트하게 작업하세요. 미래를 만드세요.
Visual Studio 2019 버전 16.3.10
릴리스 날짜: 2019년 11월 20일
Visual Studio 2019 버전 16.3.10에서 해결된 주요 문제
- Xamarin fastlane: "개발자 정보를 동기화하는 동안 오류가 발생했습니다. 'iTunes Connect에 대한 요청 제한에 도달했습니다.'"
- WPF 앱이 포함된 MSIX 패키지 프로젝트 - 앱 패키지 만들기가 더 이상 작동하지 않습니다.
Visual Studio 2019 버전 16.3.9
릴리스 날짜: 2019년 11월 12일
Visual Studio 2019 버전 16.3.9에서 해결된 주요 문제
- 편집하며 계속하기가 IDE를 중단합니다.
- 맵 파일을 생성할 때 Link.exe가 1073741819 코드로 종료되었습니다.
- 다운로드 후 ClickOnce 설치 관리자 필수 구성 요소 vcredist 14(x64)가 잘못되었습니다.
- 중단점에 적중하고 편집하며 계속하기로 수정 내용을 적용할 때마다 바탕 화면에 Visual Studio의 작동이 중단됩니다.
- ASP.NET 애플리케이션을 디버깅하는 동안 코드를 편집할 때 충돌이 해결되었습니다.
Visual Studio 2019 버전 16.3.8
릴리스 날짜: 2019년 11월 5일
Visual Studio 2019 버전 16.3.8에서 해결된 주요 문제
- Xcode 11.2 지원이 추가되었습니다.
- Visual Studio 2019로 업그레이드한 후 'TypeConverter는 System.string에서 변환할 수 없습니다'.
- UWP에서 기존 확장(.design dll)을 로드하는 경우 Visual Studio가 충돌하는 문제를 해결했습니다.
Visual Studio 2019 버전 16.3.7
릴리스 날짜: 2019년 10월 29일
Visual Studio 2019 버전 16.3.7에서 해결된 주요 문제
- C++Linux 프로젝트 - 원격 헤더 동기화가 Visual Studio 16.3에서 작동하지 않음
- Visual Studio 16.3에서 일부 파일이 메모장에서 열림
- 출력 표시 창이 너무 빨리 닫히는 문제를 해결했습니다.
- 솔루션 열기, 솔루션 구성 변경 및 솔루션 닫기와 같은 몇몇 시나리오에서 Visual Studio 2019가 응답하지 않는 문제를 해결했습니다.
Visual Studio 2019 버전 16.3.6
릴리스 날짜: 2019년 10월 22일
Visual Studio 2019 버전 16.3.6에서 해결된 주요 문제
- ANSI .rc 파일이 UTF8로 자동 변환됨!!!! (원하지 않음!!!!)
- 개발자가 .NET Core 3.0 앱을 Azure에 게시하려고 할 때 표시되는 부정확한 오류 메시지를 해결했습니다.
- 인증된 피드에 대해 복원하기 위해 플러그 인을 사용할 때 msbuild/dotnet restore의 안정성이 개선되었습니다.
Visual Studio 2019 버전 16.3.5
릴리스 날짜: 2019년 10월 15일
Visual Studio 2019 버전 16.3.5에서 해결된 주요 문제
- VS 2019 손상 설치 업데이트
- 오프라인 캐시를 빌드하는 엔터프라이즈 사용자와 오프라인 사용자가 설치에 실패하게 되는 추가 문제를 해결했습니다.
Visual Studio 2019 버전 16.3.4
릴리스 날짜: 2019년 10월 10일
Visual Studio 2019 버전 16.3.4에서 해결된 주요 문제
- Xcode 11.1 지원을 위한 Xamarin.iOS 디자이너 업데이트
- 게시는 Visual Studio 16.3.1에서 작동하지 않습니다.
Visual Studio 2019 버전 16.3.3
릴리스 날짜: 2019년 10월 8일
Visual Studio 2019 버전 16.3.3에서 해결된 주요 문제
- 기록기가 완료된 후에는 InvalidOperationException을 사용할 수 없습니다.
- 16.2.0으로 업그레이드한 후 유효한 코드에 대한 ICE
- CPU 사용량 도구의 상황에 맞는 메뉴가 탐색하지 않습니다.
- 변환 연산자의 결과가 기본 클래스에 대한 참조로 변환되는 경우 잘못된 어셈블리입니다.
- DockerUpdateComposeVsGeneratedFiles가 Visual Studio 16.3으로 업데이트된 후 “값은 Null일 수 없습니다.”(“매개 변수 이름: path1”)를 throw합니다.
- CPU 사용량 도구의 상황에 맞는 메뉴가 탐색하지 않습니다.
- 게시는 Visual Studio 16.3.1에서 작동하지 않습니다.
- 고객이 MSA 계정을 사용하는 스냅샷 디버거 문제를 해결합니다.
- Microsoft.Visualstudio.Shell.15.0 NuGet 패키지를 설치하려는 고객이 프레임워크에 대한 경고 메시지를 수신하지 못하는 문제를 수정했습니다.
- 람다에서 함수 포인터로의 암시적 변환과 관련된 MSVC 컴파일러 버그를 수정합니다.
- Null 참조 예외 때문에 발생하는 Visual Studio 충돌 문제를 해결했습니다.
- 코드에 부분 특수화 안에서 중첩된 클래스의 정적 데이터 멤버에 대한 라인 외부 정의가 있는 경우 컴파일러 내부 오류를 해결하도록 수정되었습니다.
Visual Studio 2019 버전 16.3.2
릴리스 날짜: 2019년 10월 1일
Visual Studio 2019 버전 16.3.2에서 해결된 주요 문제
- Xcode 11 지원 문제를 수정했습니다.
Visual Studio 2019 버전 16.3.1
릴리스 날짜: 2019년 9월 25일
Visual Studio 2019 버전 16.3.1에서 해결된 주요 문제
- 16.3 - .NET Core 3.0 앱에 대해 XAML 디자이너를 표시하지 않음
- Visual Studio의 응답이 중단되는 문제를 해결했습니다.
Visual Studio 2019 버전 16.3.0
릴리스 날짜: 2019년 9월 23일
Visual Studio 2019 버전 16.3의 새로운 기능 요약
- 새 공개 API 및 GRPC 서비스 참조를 .NET Core 3.0 프로젝트에 추가할 수 있도록 지원합니다.
- F# 4.7 및 다양한 F# 도구 개선 사항을 지원합니다.
- 토글 가능한 줄 명령 및 개선된 IntelliSense 멤버 목록 필터링을 포함하여 C++ 개발자를 위한 향상된 기능.
- 시작 창에서 최근에 사용한 프로젝트, 솔루션 및 폴더를 검색합니다.
- 고급 검색 기능을 사용하여 새 프로젝트 대화 상자에서 템플릿을 검색합니다.
- Azure Container Registry, DockerHub 등에 .NET Core 3.0 작업자 프로젝트를 게시합니다.
- 이 릴리스에 추가된 .NET 생산성 도구에는 클래스 이름을 바꿀 때 포함하는 파일의 이름을 바꿀 수 있는 기능뿐만 아니라 디버거 내에서의 편집하며 계속하기 기능 향상도 포함됩니다.
- Linux 컨테이너에서 실행되는 Azure Functions를 디버그합니다.
- Visual Studio 설치 관리자에서 설치하거나 수정하는 동안 개별 구성 요소를 검색합니다.
- Visual Studio IDE 및 설치 관리자 업데이트를 통합하는 간소화된 Visual Studio 업데이트 환경이 제공됩니다.
- Visual Studio IDE에 추가할 때 워크로드 및 구성 요소를 구별합니다.
- VS 검색을 통한 코드 검색(Ctrl+Q)
- 새 프로젝트 대화 상자에서 손쉽게 새로 설치된 프로젝트 템플릿을 찾고, 필터에서 선택한 값을 확인하고, 최근에 사용한 템플릿을 고정합니다.
- 새 종속성 추가 마법사를 사용하여 손쉽게 애플리케이션의 종속성을 게시 프로필에서 구성합니다.
- 이제 .NET Core 2.1 및 2.2에 대한 Visual Studio 설치 관리자 구성 요소에는 런타임뿐만 아니라 템플릿도 포함됩니다.
- Razor 클래스 라이브러리 내에서 정적 자산 처리를 위한 도구를 지원합니다.
- 새로 추가된 수정된 unittest 환경뿐 아니라 Python 테스트 프레임워크 pytest를 사용하여 Python 테스트 환경을 업데이트했습니다.
- 큰 폴더를 인덱싱하고 해당 폴더에서 파일을 검색하는 시간이 단축되었습니다.
- Xcode 11 및 iOS 13 지원을 추가했습니다.
- Android 10 지원을 추가했습니다.
- Xamarin.Forms용 XAML 핫 다시 로드를 사용하여 Xamarin.Forms UI를 신속하게 반복합니다.
- Xamarin.Forms용 XAML 미리 보기의 Android 재질 디자인
- Xamarin Designer for iOS의 새 제약 조건 편집기
- Windows에서 iOS 앱을 게시할 수 있도록 설정했습니다.
- .plist 파일 편집을 위한 새로운 옵션이 있습니다.
- 병렬 스택 창에서 디버그할 때 작업 보기가 개선되었습니다.
- 새로운 C++ Core 검사, 새로운 기본 의미 체계 색 지정 구성표 및 기본적으로 설정된 IntelliCode를 비롯한 다양한 C++ 생산성이 향상되었습니다.
- 기본 WSL 환경을 활용하는 MSBuild 기반 C++ Linux 프로젝트에서 병렬 빌드를 지원합니다.
- 이 릴리스의 .NET 생산성 추가 기능에는 흐름 호출의 체인을 래핑하고, 이니셜라이저를 작성한 직후 지역 변수를 도입하는 기능, 분석기에 대한 .NET Core 도구 지원 및 가져오지 않은 형식의 완성 목록을 확장하는 기능이 포함됩니다.
- 파일에서 JavaScript/TypeScript 구문 분류 및 리팩터링의 응답성이 향상되었습니다.
- C++ IntelliCode 기본 모델이 기본적으로 설정되고 C#용 반복 편집에 포함되도록 업데이트했습니다.
- TypeScript 3.6 및 응답성이 뛰어난 JavaScript/TypeScript 리팩터링을 지원합니다.
- 이제 성능 프로파일러는 ALT-F2를 통해 .Net Core 프로젝트용 데이터베이스 도구를 제공합니다.
- Docker 지원을 추가할 때 Docker Desktop을 설치하라는 메시지가 추가되었습니다.
- Azure Watson 및 .NET Core 원격 디버깅을 위해 기호를 수동으로 로드하는 기능이 추가되었습니다.
- 인증서 생성을 복원하고 UWP 패키지 서명 환경을 개선했습니다.
Visual Studio 2019 버전 16.3.0에서 해결된 주요 문제
- VS2019의 UWP SDK에서 “테스트 인증서 만들기” 옵션이 누락됨
- VS2019 - 쿼리 디자이너의 작동이 중지됨
- 프로젝트 속성 - 코드 분석 - 텍스트가 잘못됨
- 새 프로젝트를 만들 때 Visual Studio 2019가 중단되고 작동이 중지됨
- Visual Studio 2019 16.3 Preview 3에서 편집기 및 생산성 기능이 완전히 현지화되지 않음
- 명령 탭 순서와 관련된 문제(디자인 모드)
- 오류: 일부 또는 모든 ID 참조를 변환할 수 없습니다.
- Visual Studio 16.2가 편집을 위해 대화 상자 열기를 중지합니다.
- 오류 MSB6006: 코드 2와 함께 "CL.exe"이 종료되었습니다.
- 빈 코드 메트릭 결과
- “편집하며 계속하기 사용”이 해제되어 있으면 디버그 세션을 시작하는 동안 VS2019가 충돌합니다.
- Qt 5.12.3 QBezier의 인라인+/O2를 사용하는 Visual Studio 2019(16.0.2) 생성기의 잘못된 코드
- VS 피드백 도구에 로그인하는 동안 오류 발생
- 공유 프로젝트에 포함된 파일에서 이름 바꾸기 리팩터링이 작동하지 않음 - 이름 바꾸기 작업이 취소되었거나 유효하지 않음
- 멤버 목록이 시작될 때 중괄호 완성이 오른쪽 위치에 문자를 삽입하지 않음
- 명령 탭 순서와 관련된 문제(디자인 모드)
- 오류 MSB6006: 코드 2와 함께 "CL.exe"이 종료되었습니다.
- VS 피드백 도구에 로그인하는 동안 오류 발생
- 빈 코드 메트릭 결과
- 공유 프로젝트에 포함된 파일에서 이름 바꾸기 리팩터링이 작동하지 않음 - 이름 바꾸기 작업이 취소되었거나 유효하지 않음
- 인라인 네임스페이스 헤더와 관련된 C++/CLI 버그
- 오류: 일부 또는 모든 ID 참조를 변환할 수 없습니다.
- rvalue-reference-to-array가 lvalue-reference-to-array에 바인딩될 수 없음
- 멤버 목록이 시작될 때 중괄호 완성이 오른쪽 위치에 문자를 삽입하지 않음
- 연결된 서비스 목록에 없는 Azure Key Vault로 비밀 보호
- VS 파일 검색은 VA 파일 검색보다 훨씬 더 느림
- TFS를 찾을 수 없는 경우 Visual Studio 작동이 중단됩니다.
- .razor 파일을 표시하는 동안 Visual Studio 오류 발생.
- AndroidClientHandler 시간 제한 증가
- VS2019의 UWP SDK에 “테스트 인증서 만들기” 옵션이 없습니다.
Visual Studio 2019 버전 16.3.0의 새로운 기능에 대한 자세한 정보
.NET Framework 4.8
.NET Framework 4.8 개발 도구가 대상 .NET Framework 4.8을 지원하기 위해 추가되었습니다. .NET Framework 4.8에서는 여러 새로운 기능 및 개선 사항뿐 아니라 신뢰성, 안정성, 보안, 성능과 관련한 많은 수정 사항을 제공합니다. .NET Framework 4.8 블로그 알림에서 .NET Framework 4.8에 대한 자세한 내용을 확인하세요.
.NET 생산성
- 이제 개발자는 인터페이스, 열거형 또는 클래스의 이름을 바꿀 때 파일의 이름을 바꿀 수 있습니다. 클래스 이름에 커서를 놓고 (Ctrl+R,R)을 입력하여 이름 바꾸기 대화 상자를 열고 ‘파일 이름 바꾸기’ 상자를 선택합니다.
- 이제 여러 도메인 또는 로드 컨텍스트의 동일한 프로세스에서 여러 번 로드된 모듈을 포함하는 다중 대상 프로젝트에 대해 편집하며 계속하기 지원을 사용할 수 있습니다. 또한 포함하는 프로젝트가 로드되지 않았거나 애플리케이션이 실행 중인 경우에도 개발자는 소스 파일을 편집할 수 있습니다.
- 이제 리팩터링으로 흐름 호출의 체인을 래핑할 수 있습니다. 호출 체인에 커서를 놓고 (Ctrl+.)를 눌러 빠른 작업 및 리팩터링 메뉴를 트리거합니다. 호출 체인 래핑 또는 호출 체인 래핑 및 맞춤을 선택합니다.
- 이제 사용자는 이니셜라이저를 작성한 직후 지역 변수를 도입할 수 있습니다. 먼저 식을 작성합니다. 그런 다음, 식 이름에 커서를 놓고 (Ctrl+.)를 눌러 빠른 작업 및 리팩터링 메뉴를 트리거합니다. 지역 변수를 도입하는 옵션을 선택합니다.
- 이제 분석기에 대한 .NET Core 도구가 지원됩니다. 사용자는 솔루션 탐색기 내에서 프로젝트 이름을 마우스 오른쪽 단추로 클릭하여 가장 권장되는 분석기 패키지를 추가하고 속성을 선택할 수 있습니다. 코드 분석을 선택하여 분석기 패키지를 설치하고 코드 분석을 실행할 시기를 구성합니다.
- 이전에 가져오지 않은 형식에 대한 IntelliSense 완성을 추가했습니다. 이 기능에는 항상 IntelliSense를 채우는 가져오지 않은 형식을 원하지 않는 사용자를 위해 완성 기능을 끄는 옵션이 함께 제공됩니다. 이제 가져오지 않은 형식의 완료를 해제하는 사용자의 경우 IntelliSense 토글에 추가된 새 가져온 형식 필터를 사용하여 다시 완성 목록에 가져오는 것이 훨씬 더 쉽습니다.
- 이제 XML 주석에 대한 요약 정보 스타일이 지원됩니다. 메서드 이름 위에 커서를 놓습니다. 그런 다음, 요약 정보는 코드 위의 XML 주석에서 지원되는 스타일을 표시합니다.
WPF/UWP 도구
WPF/UWP 애플리케이션을 빌드하는 고객은 Visual Studio XAML 도구에서 다음과 같은 향상된 기능을 확인할 수 있습니다.
Designer:
- WPF .NET Core 프로젝트용 WPF 디자이너(GA)는 이제 미리 보기 기능 플래그 없이 모든 고객에게 GA(일반 공급) WPF .NET Core 애플리케이션용 XAML 디자이너를 사용할 수 있습니다. Wpf .NET Core 응용 프로그램에 대한 XAML 디자이너는 WPF .NET Framework 디자이너의 일부 동작과 기능에서 약간 다릅니다. 이는 의도적으로 설계된 것입니다. 사용자가 Visual Studio 피드백 기능을 사용하여 실행 될 수 있는 문제 또는 제한 사항을 보고하는 것을 권장합니다.
XAML 디버깅 도구:
- WPF 리소스 사전 변경에 대해 추가된 XAML 핫 다시 로드 지원: XAML 핫 다시 로드 이제 애플리케이션에서 실시간 업데이트를 위해 WPF 리소스 사전 업데이트를 지원합니다. 이전에 이 기능은 유니버설 Windows 플랫폼(UWP)에서만 사용할 수 있었지만 이제 WPF .NET Framework, WPF .NET Core 및 UWP 앱에서도 지원됩니다. 지원되는 작업에는 새 리소스 섹션 정의 추가, 새/기존 섹션 리소스 추가, 삭제 및 업데이트가 포함됩니다.
- 앱 내 도구 모음 이동 가능: 실행 중인 WPF/UWP 애플리케이션 내에서 이동 가능하도록 앱 내 도구 모음이 향상되어 개발자가 앱 내에서 왼쪽 또는 오른쪽으로 끌어 앱 UI 차단을 해제할 수 있습니다. 도구 모음이 이동되는 위치는 세션 간에 저장되지 않으며 앱을 다시 시작할 때 기본 위치로 돌아갑니다.
UWP 패키지 서명.
- 매니페스트 디자이너를 통해 서명 인증서 파일(.pfx)을 만들고 가져오는 기능을 다시 추가했습니다.
- 서명 프로세스를 간소화하기 위해 패키징 마법사를 통해 서명 인증서를 만들고 가져오는 기능을 도입했습니다.
.NET 도구
- 새 공개 API 및 GRPC 서비스 참조를 .NET Core 3.0 프로젝트에 추가할 수 있도록 지원합니다.
- Azure Container Registry, DockerHub 등에 .NET Core 3.0 작업자 프로젝트를 게시합니다.
- Worker, gRPC, Razor 클래스 라이브러리 및 Blazor의 .NET Core 3.0 템플릿이 새 프로젝트 대화 상자에 표시됩니다.
- .Net CLI를 통해 .NET Core 3.0 템플릿에 이루어지는 모든 업데이트가 Visual Studio에도 표시됩니다.
C++
- 이제 C++ 개발자는 바로 가기 키 Ctrl+K, Ctrl+/를 사용하여 줄 주석을 토글할 수 있습니다.
- IntelliSense 멤버 목록은 이제 형식 한정자를 기준으로 필터링됩니다. 예를 들어
const std::vector
는push_back
와 같은 메서드를 필터링합니다. - 다음 C++20 표준 라이브러리 미리 보기 기능(사용
/std:c++latest
)이 추가되었습니다. - 새 “열거형 규칙” 규칙 집합 및 추가 상수, 열거형 및 형식 규칙을 포함한 새로운 C++ Core 지침 확인
- 사용자가 새로운 기본 의미 체계 색 지정 구성표를 사용하여 코드를 한눈에 더 잘 이해할 수 있으며, 템플릿 인수를 숨기도록 호출 스택 창을 구성할 수 있고, C++ IntelliCode가 기본적으로 켜져 있습니다.
- CMakeSettings.json 또는 CppProperties.json에서 환경 변수를 사용하거나 launch.vs.json 및 tasks.vs.json에서 개별 대상 및 작업에 새 “env” 태그를 사용하여 디버그 대상 및 사용자 지정 작업을 구성합니다.
- 이제 사용자는 누락된 vcpkg 패키지에서 빠른 작업을 사용하여 자동으로 콘솔을 열고 기본 vcpkg 설치에 설치할 수 있습니다.
- Linux 프로젝트(CMake 및 MSBuild)에서 수행한 원격 헤더 복사가 최적화되었고 이제 병렬로 실행됩니다.
- 이제 Visual Studio의 WSL 기본 지원은 MSBuild 기반 Linux 프로젝트의 병렬 빌드를 지원합니다.
- 이제 사용자는 Linux 메이크파일 프로젝트를 사용하여 원격 시스템에 배포할 로컬 빌드 출력 목록을 지정할 수 있습니다.
- CMake 설정 편집기의 설정 설명에는 이제 추가 컨텍스트 및 유용한 설명서 링크가 포함됩니다.
컨테이너 도구
- 이제 Azure Functions(v2)를 빌드하는 개발자는 Docker 컨테이너 지원(Linux만 해당)을 C# 프로젝트에 추가할 수 있습니다. 솔루션 탐색기에서 프로젝트 이름을 마우스 오른쪽 단추로 클릭하고 “추가” --> “Docker 지원”을 선택하여 이 작업을 수행할 수 있습니다. 프로젝트에 Dockerfile을 추가하는 것 외에도 디버그 대상은 “Docker”로 설정됩니다. 이는 Functions 코드의 디버깅이 실행 중인 컨테이너 내에서 발생한다는 것을 의미합니다. 사용자는 중단점을 적중하고, 변수를 검사하고, Visual Studio에서 제공하는 강력한 디버깅 기능을 모두 사용할 수 있습니다.
.NET Core 프로젝트에 대한 데이터베이스 프로파일링
이 릴리스에는 성능 프로파일러(ALT+F2)를 통해 사용할 수 있는 성능 및 진단 도구 제품군의 새로운 도구가 포함되어 있습니다. 새 데이터베이스 도구는 ADO.Net 또는 Entity Framework를 활용하는 .NET Core 프로젝트의 쿼리에 대한 세부 정보를 제공합니다. 이 도구는 소스 코드에 연결하기 위한 “소스로 이동” 옵션을 제공하며 프로파일링 세션 중에 실행되는 각 쿼리에 대한 타이밍 정보를 제공합니다. 이 도구는 성능 프로파일러의 다른 도구와 동시에 작동할 수 있습니다. CPU 사용량 도구와 함께 사용하는 경우 데이터베이스를 사용하는 .NET Core 코드의 성능 특징에 대한 상세 정보를 얻게 됩니다.
디버거
F# 및 F# 도구
이 릴리스에는 최신 버전의 F# 언어인 F# 4.7 지원이 포함되어 있습니다.
F# 4.7은 대부분 F# 언어 기능의 미리 보기를 보다 효과적으로 제공할 수 있게 해주는 기본 인프라 변경사항에 집중되었습니다. 따라서 새로 제공되는 몇 가지 멋진 기능도 있습니다.
F# 언어 및 코어 라이브러리
개발 프로세스 초기의 기능 디자인에 대한 피드백을 받을 수 있도록 미리 보기 기능을 사용하기 위한 컴파일러 인프라가 제공되는 부 언어 릴리스인 F# 4.7 지원을 추가했습니다.
전체 F# 4.7 기능 집합은 다음과 같습니다.
- 컴파일러에서 사용하는 F# 언어 버전을 F# 4.6 이상으로 구성할 수 있도록 하는
LangVersion
플래그에 대한 지원 - 배열, 목록 및 시퀀스 식의 암시적 생성에 대한 지원
- 정적 멤버 및 생성자에 대한 들여쓰기 요구 사항 완화
- Gustavo Leon이 기여한 멤버 선언 및
for
루프에서 이중 밑줄(__
)의 필요성 완화 - 이제 FSharp.Core는 .NET Core 1.x 지원 중단에 따라
netstandard1.6
대신netstandard2.0
을 대상으로 지정합니다. - 이제 .NET Core의 FSharp.Core는
FSharpFunc.FromConverter
,FSharpFunc.ToConverter
및FuncConvert.ToFSharpFunc
를 지원합니다. - 이제 FSharp.Core는 Fraser Waters가 기여한
Async.Parallel
에 대해Async.Sequential
및 선택적maxDegreeOfParallelism
매개 변수를 지원합니다.
이 릴리스에서는 F# 4.7 기능 집합 외에도 다음과 같은 미리 보기 F# 언어 기능을 지원합니다.
- 식 지원
nameof
- 정적 클래스 열기 지원
프로젝트 파일에서 <LangVersion>preview</LangVersion>
를 확인하여 이 기능을 사용하도록 설정할 수 있습니다.
또한 이 릴리스에는 F# 컴파일러에 대한 다음과 같은 버그 수정과 개선 사항이 포함되어 있습니다.
- F# 컴파일러가 대용량 레코드, 구조체 또는 기타 형식을 사용하여 스택 오버플로를 발생시키는 오랜 문제가 해결되었습니다(#7070).
- 잘못된 인라인 IL을 지정하는 경우 Visual Studio 작동이 중단되는 문제가 해결되었습니다(#7164).
- 구조체가 C#에 정의되어 멤버 호출 시 변형된 경우 구조체 복사가 이루어지지 않는 문제가 해결되었습니다(#7406).
- 구성 가능한 해시가 기본적으로 SHA-256으로 설정된 상태에서 컴파일러가 만든 이식 가능한 PDB 콘텐츠의 암호화 해시는 PE 디버그 디렉터리에 포함되지 않습니다(#4259, #1223).
LeafExpressionConverter
가ValueType
을 무시하고System.Tuple
을 가정했던 버그(#6515)가 Kevin Malenfant에 의해 수정되었습니다.List.transpose
가 예외를 throw하는 대신 데이터를 삭제했던 버그(#6908)가 Patrick McDonald에 의해 해결되었습니다.- 길이가 서로 다른 목록에서 사용할 때
List.map3
이 잘못된 오류를 제공했던 버그(#6897)가 reacheight에 의해 해결되었습니다.
F# 도구
또한 이 릴리스에는 Visual Studio용 F# 도구에 대한 몇 가지 기능 향상이 포함되어 있습니다.
- 레코드는 도구 설명 및 F# 대화형에서 정식 선언 및 값과 더 유사하게 보이도록 형식이 지정됩니다(#7163).
- 도구 설명의 속성은
get
전용,set
전용 또는get
및set
인지 여부를 지정합니다(#7007). - 파일이 슬래시를 사용할 때 정의로 이동 및 다른 기능이 프로젝트에서 작동하지 않는 경우가 있는 문제(#4446, #5521, #4016)가 chadunit의 도움으로 수정되었습니다.
- 익명 레코드 및 디버깅 문제가 해결되었습니다(#6728, #6512).
- 소스에 빈 해시 지시문이 있으면 소스 텍스트 색이 랜덤으로 표시되는 버그가 해결되었습니다(#6400, #7000).
IDE
- 시작 창에서 검색 상자를 사용하여 최근에 사용한 프로젝트, 솔루션 및 폴더의 빠른 위치를 지정할 수 있습니다. 또한 이러한 MRU 코드 컨테이너는 Visual Studio 전역 검색에 통합되므로 개발자는 Visual studio의 검색 상자를 통해 찾을 수 있습니다.
- Visual Studio IDE 내에서 설치 관리자 대화 상자 인터페이스가 개선되어 Visual Studio에 추가되는 특정 워크로드를 더욱 쉽게 식별할 수 있습니다.
- VS 검색은 C# 및 VB를 사용하여 형식 및 멤버를 검색하는 기능뿐 아니라 모든 언어에 대한 파일 검색도 지원합니다. 결과는 사용자가 검색 쿼리를 입력하면 표시되고 바로 가기 키 또는 마우스 클릭을 통해 액세스할 수 있는 전용 ‘코드’ 그룹에도 표시됩니다.
- 새로 설치된 프로젝트 템플릿에는 빠르게 식별할 수 있도록 “신규” 레이블이 표시되고 필터에는 새 프로젝트 대화 상자에서 선택한 값이 표시됩니다. 또한 개발자는 최근 사용된 템플릿을 목록에서 고정, 고정 해제 및 제거하는 방식으로 구성할 수 있습니다.
- 새 프로젝트 대화 상자에서 검색 및 필터 관련성을 기준으로 일치하는 키워드 및 순위 결과를 강조 표시하기 위해 오타 및 복수에 맞게 조정하는 보다 강력한 퍼지 검색 기능을 통해 템플릿을 검색합니다.
설치 관리자
- 이제 Visual Studio는 생산성 향상을 위해 한 번 클릭으로 Visual Studio IDE 및 설치 관리자를 둘 다 업데이트합니다.
- .NET Core 2.1 및 2.2의 Visual Studio 설치 관리자 구성 요소는 런타임을 전달하는 데만 사용됩니다. 이 미리 보기부터 해당 구성 요소는 런타임뿐만 아니라 템플릿도 전달합니다.
- Visual Studio 설치 관리자의 개별 구성 요소 탭에 있는 검색 상자를 사용하면 설치에 사용할 수 있는 모든 구성 요소를 빠르게 찾을 수 있습니다.
IntelliCode
- C++ 기본 모델은 기본적으로 켜져 있었습니다.
- 도구>옵션>IntelliCode로 이동하여 이 설정을 변경할 수 있습니다.
- 반복 가능한 변경을 위해 로컬 편집을 분석하며 동일한 파일에서 이 변경이 필요할 수 있는 위치를 결정하는 C#에 대한 반복 편집을 포함시켰습니다.
- 제안된 반복 편집은 오류 목록에서 코드 파일 내 경고로 표시됩니다.
JavaScript/TypeScript
- JavaScript 및 TypeScript 분류(일반적으로 “구문 색 지정”이라고 함)는 큰 파일에 더 빠르게 적용됩니다. JavaScript 및 TypeScript 코드 수정 및 리팩터링(전구) 목록도 더 빠르게 표시됩니다.
- 이제 TypeScript 3.6에 대한 편집기 지원이 제공됩니다.
- 이제 tsconfig.json 파일을 편집하거나 변경하는 경우 Visual Studio는 프로젝트를 더 즉각적으로 새로 고칩니다.
Python 테스트
- Python 개발자는 이제 Python 프로젝트와 폴더 열기 작업 영역 시나리오에서 모두 인기 있는 Python 프레임워크 pytest를 사용하여 테스트를 실행할 수 있습니다.
- Python 프로젝트에 대한 pytest 및 unittest를 사용하도록 설정하려면 프로젝트 솔루션 이름을 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다. 여기에서 테스트 탭을 선택하여 테스트 옵션을 선택합니다. unittest의 경우 테스트 파일 이름의 패턴뿐만 아니라 테스트 디렉터리(기본값은 루트 디렉터리)를 지정해야 합니다. 테스트 검색은 변경 내용이 테스트 탭에 저장되는 즉시 완화됩니다.
- unittest 테스트 환경이 다시 작성되어 이 테스트가 더 이상 자동으로 검색되지 않으므로 이제 사용자는 Python 프로젝트 및 폴더 열기 작업 영역에 대한 테스트를 수동으로 구성해야 합니다.
- Python 폴더에 대한 테스트를 사용하도록 설정하려면 아이콘을 클릭하여 솔루션 탐색기에 있는 모든 파일을 표시합니다. 여기에서 ‘로컬 설정’ 폴더 내에 있는 PythonSettings.json 파일을 클릭합니다(파일이 없으면 파일을 만듭니다). 이 파일 내에서 사용하려는 'TestFramework'와 테스트 파일 이름 패턴 및 테스트가 포함된 디렉터리를 지정할 수 있습니다(두 옵션 모두 unittest에 적용됨).
- 테스트 디버깅은 PTVSD 4를 사용하도록 업데이트되지만, 사용자가 ‘레거시 디버거’를 계속 사용하려고 하거나 새 디버거와 관련된 문제가 발생하는 경우에는 도구 > 옵션 > Python > 디버깅 > 레거시 디버거 사용으로 이동한 후 확인란을 선택하여 테스트 디버깅을 사용하도록 설정할 수 있습니다.
- 또한 기존 프로젝트를 사용하는 사용자를 위해, Visual Studio 2019에서 코드 작업을 신속하게 진행하기 위해 테스트 파일이 포함된 폴더 열기 작업 영역에서 작업을 단순화했습니다. 테스트 구성 파일(예: pytest용 .ini 파일)이 포함된 프로젝트를 열지만 pytest를 설치하거나 사용하도록 설정하지 않은 경우 필요한 패키지를 설치하고 작업 중인 Python 환경에 대해 구성하라는 메시지가 표시됩니다.
- 마찬가지로 프로젝트 또는 폴더 열기 작업 영역 내에 있는 unittest 테스트 파일의 경우 테스트 프레임워크를 설치하고 사용하도록 설정하라는 메시지가 표시됩니다. 두 시나리오의 경우 모두 개발자는 메시지를 무시하고 프레임워크를 수동으로 구성할 수 있습니다.
Visual Studio 성능 프로파일러
- 성능 프로파일러의 CPU 사용량 도구는 호출 트리를 표시할 때 빨간색 불꽃 아이콘이 있는 “실행 부하 과다 경로” 표시기를 자동으로 표시합니다. 그러면 일반적인 CPU 사용량 성능 조사에 대한 클릭이 저장됩니다. CPU 사용 도구는 Alt+F2를 사용하거나 디버그 메뉴에서 액세스할 수 있습니다.
- 이제 성능 프로파일러는 Visual Studio IDE에서 정방향/역방향 탐색에 참여합니다. 개발자가 성능 프로파일러에서 다양한 도구 보기를 탐색할 때 탐색 지점은 다른 탐색 항목과 함께 저장됩니다. 탐색 단추를 클릭하거나 Visual Studio에서 탐색 명령을 이용하여 사용할 수 있습니다.
웹 도구
- 새 종속성 추가 마법사를 사용하여 손쉽게 애플리케이션의 종속성을 게시 프로필에서 구성합니다. 사용자가 새 인스턴스를 프로비저닝하거나 IDE를 벗어나지 않고 기존 인스턴스를 선택할 수 있도록 현재 Azure SignalR Service, Azure SQL Server, Azure Storage에 종속성을 추가하는 기능이 지원됩니다.
- ASP.NET 런타임 팀은 많은 요청으로 인해 Razor 클래스 라이브러리 내에서 정적 콘텐츠를 제공하는 지원을 사용하도록 설정했습니다. Visual Studio의 이 미리 보기에서 팀은 이 시나리오에 대한 도구 지원을 추가했습니다.
Xamarin
이 릴리스에는 다음과 같은 Xamarin SDK 업데이트가 포함되어 있습니다.
- Xamarin.iOS 13
- Xcode 11 지원을 추가하여 iOS 13, tvOS 13 및 watchOS 6용 앱을 빌드하고 디버그합니다. 사용 가능한 새로운 기능에 대한 자세한 내용은 iOS 13 소개를 참조하세요.
- Xamarin.Android 10
- Android 앱은 이제 프로젝트 속성 페이지의 애플리케이션 탭에서 Android 버전(대상 프레임워크)을 Android 10.0(Q)으로 설정하여 Android 10을 대상으로 지정할 수 있습니다. Android 10에서는 어두운 테마, 제스처 탐색, 폴딩 가능 디바이스에 최적화 등의 기능이 도입되었습니다. 새로운 기능에 대한 자세한 내용은 Android 10 및 Xamarin 페이지를 참조하세요.
이 릴리스에는 여러 가지 새로운 도구 기능과 개선 사항도 포함되어 있습니다.
- 이 릴리스에서는 Xamarin.Forms용 XAML 핫 다시 로드의 공개 미리 보기를 사용할 수 있습니다. XAML 핫 다시 로드를 사용하면 UI를 신속하게 반복하여 에뮬레이터, 시뮬레이터 또는 물리적 디바이스에서 앱을 디버그할 수 있습니다. XAML을 편집하고 파일을 저장하기만 하면 변경 내용이 실행 중인 앱에 즉시 반영됩니다. XAML 핫 다시 로드를 사용하도록 설정하려면 도구 > 옵션 > Xamarin > 핫 다시 로드로 이동합니다.
- 이제 Xamarin.Forms 시각적 개체를 사용할 때 Xamarin.Forms용 XAML 미리 보기에서 iOS와 Android용 재질 디자인을 모두 렌더링합니다.
- Xamarin Designer for iOS에서는 제약 조건을 처리하는 새로운 방법을 제공합니다. 제한 가능한 보기를 선택하면 도구 모음의 제약 조건 고정 모드 선택기 옆에 줄임표가 표시됩니다. 줄임표를 클릭하여 선택한 보기에 대한 제약 조건을 편집하기 위한 팝오버를 표시합니다.
- 이제 Windows의 Visual Studio에서 iOS 앱을 보관하고 게시할 수 있습니다. Mac 머신에 페어링된 상태에서 구성을 릴리스|iPhone으로 설정하고 솔루션 탐색기에서 iOS 프로젝트를 마우스 오른쪽 단추로 클릭한 다음, 보관... 메뉴 옵션을 선택하여 보관을 만듭니다. 보관 관리자에서 임시 배포를 위해 .ipa를 디스크에 저장하거나, App Store에 앱을 게시하기 위해 App Store Connect로 업로드할 수 있습니다.
- 솔루션 탐색기에서 .plist 파일을 마우스 오른쪽 단추로 클릭하면, 일반 plist 디자이너 또는 XML 편집기를 사용하여 파일을 빠르게 열 수 있는 새 옵션이 있습니다.
알려진 문제
아래 링크를 따라 Visual Studio 2019 버전 16.3의 문제 및 사용 가능한 해결 방법을 모두 확인하세요.
피드백 및 제안
많은 의견 부탁드립니다! 문제가 있으면 설치 관리자나 Visual Studio IDE 자체의 오른쪽 위에서 문제 보고 옵션을 통해 알려주세요. 아이콘은 오른쪽 위 모서리에 있습니다. Visual Studio 개발자 커뮤니티에서 제품에 대해 제안하거나 문제를 추적하고, 질문하고 대답을 찾고 새로운 기능을 제안할 수 있습니다. 라이브 채팅 지원을 통해 무료 설치 도움말을 가져올 수도 있습니다.
Blogs
개발자 도구 블로그 사이트에서 사용 가능한 인사이트 및 권장 사항을 활용하여 모든 새 릴리스에 대한 최신 정보와 다양한 기능에 대한 심층적인 게시물을 확인하세요.
Visual Studio 2019 릴리스 정보 기록
이전 버전의 Visual Studio 2019와 관련된 자세한 내용은 Visual Studio 2019 릴리스 정보 기록 페이지를 참조하세요.