Visual Studio 2019 버전 16.5 릴리스 정보
개발자 커뮤니티 | 시스템 요구 사항 | 호환성 | 배포 가능 코드 | 릴리스 기록 | 사용 조건 | 블로그 Visual Studio Docs | 의 새로운 기능
참고 항목
이것은 최신 버전의 Visual Studio가 아닙니다. 최신 릴리스를 다운로드하려면 Visual Studio 사이트를 방문하세요.
Visual Studio 2019 버전 16.5의 새로운 기능
지원 기간
이 버전은 이제 지원되지 않습니다. Visual Studio 지원에 대한 자세한 내용은 Visual Studio 2019에 대한 지원 정책을 검토하세요.
최신 버전의 릴리스 정보를 참조하거나 Visual Studio 사이트를 방문하여 지원되는 최신 버전의 Visual Studio 2019를 다운로드합니다.
Visual Studio 2019 버전 16.5 릴리스
- 2020년 5월 12일 — Visual Studio 2019 버전 16.5.5
- 2020년 4월 14일 — Visual Studio 2019 버전 16.5.4
- 2020년 4월 7일 — Visual Studio 2019 버전 16.5.3
- 2020년 3월 31일 — Visual Studio 2019 버전 16.5.2
- 2020년 3월 24일 — Visual Studio 2019 버전 16.5.1
- 2020년 3월 16일 — Visual Studio 2019 버전 16.5.0
Visual Studio 2019 블로그
Visual Studio 2019 블로그는 Visual Studio 엔지니어링 팀에서 제공하는 제품 인사이트에 대한 공식적인 정보원입니다. 다음 게시물에서 Visual Studio 2019 릴리스에 대한 자세한 정보를 찾을 수 있습니다.
- 이제 Visual Studio 2019 버전 16.5를 사용할 수 있습니다!
- 'Visual Studio 2019 v16.4 릴리스 시즌
- Visual Studio 2019 v16.4 미리 보기 2, Fall Sports, and Pumpkin Spice
- 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: 코드를 더 빠르게 실행합니다. 스마트하게 작업하세요. 미래를 만드세요.
릴리스 정보 토론에 참여하기
- 중요한 사안들을 전달할 수 있도록 릴리스 정보를 개선할 방법을 모색하고 있습니다. Developer Community 릴리스 정보 토론에 참여하세요!
Visual Studio 2019 버전 16.5.5
‘릴리스 날짜: 2020년 5월 12일’
Visual Studio 2019 버전 16.5 릴리스에서 해결됨
- Visual studio 2019에 대한 필수 최신 Visual Studio 버전으로 업데이트한 후 팀 탐색기가 로드되지 않음
- 대/소문자 구분을 비활성화하고 Regex 옵션을 활성화하여 일치 항목을 찾을 때 강조 표시 찾기 실패
보안 권고 알림
CVE-2020-1108 .NET Core 서비스 거부 취약성
인증되지 않은 원격 공격자가 .NET Core 애플리케이션에 특별히 구성된 요청을 발행하여 이 취약성을 악용할 수 있습니다. 보안 업데이트는 .NET Core 웹 애플리케이션이 웹 요청을 처리하는 방법을 수정하여 취약성을 해결합니다.
CVE-2020-1161 .NET Core 서비스 거부 취약성
인증되지 않은 원격 공격자가 ASP.NET Core 애플리케이션에 특별히 구성된 요청을 발행하여 이 취약성을 악용할 수 있습니다. 보안 업데이트는 ASP.NET Core 웹 애플리케이션이 웹 요청을 처리하는 방법을 수정하여 취약성을 해결합니다.
Visual Studio 2019 버전 16.5.4
‘릴리스 날짜: 2020년 4월 14일’
Visual Studio 2019 버전 16.5 릴리스에서 해결됨
- VsColorOutput 확장을 사용할 수 있도록 찾기 “목록 보기”를 수정했습니다.
- 값 형식으로 기본 인덱싱된 속성의 사용으로 내부 컴파일러 오류가 발생했던 버전 16.5에 도입된 회귀를 수정했습니다.
- Visual Studio 2019 세션 간의 사용자 설정을 유지하도록 파일에서 찾기를 수정했습니다.
- “찾기 결과에서 선택한 파일 미리 보기”가 해제된 경우 찾기 결과 목록에서 다음/이전 항목으로 이동이 작동하지 않는 문제를 해결했습니다.
- regex 검색을 수행할 때 regex 특수 문자를 포함하지 않은 패턴을 찾는 문제를 해결했습니다.
- 파일에서 찾기 도구 창에서 도킹된 위치에 있는 단추 배치를 수정했습니다. 도킹 모드의 향상된 환경을 위해 맞춤을 변경했습니다.
- Enter 키를 누를 때 찾기 목록 보기에서 결과가 검색되지 않는 문제가 해결되었습니다.
보안 권고 알림
CVE-2020-0899 Microsoft Visual Studio 권한 상승 취약성
Microsoft Visual Studio 업데이트 프로그램 서비스에서 파일 사용 권한을 부적절하게 처리하는 경우에 권한 상승 취약성이 존재합니다. 이 취약성을 성공적으로 악용한 공격자는 로컬 시스템의 보안 컨텍스트에서 임의의 파일 콘텐츠를 덮어쓸 수 있습니다.
CVE-2020-0900 Visual Studio 확장 설치 프로그램 서비스의 권한 상승 취약성
Visual Studio 확장 설치 프로그램 서비스가 파일 작업을 부적절하게 처리하는 경우에 권한 상승 취약성이 존재합니다. 취약성을 성공적으로 악용한 공격자는 상승한 권한으로 임의의 위치에서 파일을 삭제할 수 있습니다.
CVE-2020-5260 URL에 대한 유효성 검사가 충분하지 않음으로 인한 Git for Visual Studio 자격 증명 누출 취약성
특수하게 작성된 URL이 구문 분석되어 자격 증명 도우미로 전송되는 경우에 자격 증명 누출 취약성이 존재합니다. 이로 인해 잘못된 호스트로 자격 증명이 전송될 수 있습니다.
Visual Studio 2019 버전 16.5.3
‘릴리스 날짜: 2020년 4월 7일’
Visual Studio 2019 버전 16.5 릴리스에서 해결됨
- 일부 파일 형식을 열지 못하는 문제를 해결했습니다.
- 2단계 인증을 사용하여 Apple Developer 계정을 추가하지 못하는 문제를 해결했습니다.
- GC 스레드를 만들 때 발생하는 watchOS 애플리케이션의 크래시를 해결했습니다.
- 1e5f 폼의 지수 부동을 허용하지 않는 재발 문제를 해결했습니다.
- Word 또는 Excel과 같은 외부 애플리케이션에서 열린 파일을 여는 것을 방지하도록 문제를 해결했습니다.
- 원격 Mac 빌드 호스트에 연결을 시도하는 동안 잘못된 자격 증명을 입력하는 문제를 해결합니다.
Visual Studio 2019 버전 16.5.2
‘릴리스 날짜: 2020년 3월 31일’
Visual Studio 2019 버전 16.5 릴리스에서 해결됨
- SSH 키를 생성하는 동안 오류가 발생했습니다. 환경이 제대로 구성되었는지 확인하세요. 세부 정보: cat: /Users/cc/Library/Caches/Xamarin/XMA/Keys/1984b83a-dde9-4031-919d-b1d1b8411d0d: 해당 파일 또는 디렉터리 없음
- Xamarin Forms 앱을 디버그하는 동안 InvalidOperationException
- Xamarin Forms Android 모듈의 프레임 메모
- 내부 컴파일러 오류가 수정되었으며 WDK에 대한 분석이 일반적인 방법으로 완료되었습니다.
- 새 파일에서 찾기 환경에서 숨겨진 파일과 자동 생성된 파일을 검색할 수 없는 문제가 해결되었습니다.
- 원격 컴퓨터에 UWP 앱을 배포하면 “DEP0600: 배포 실패. DkmException - 애플리케이션에서 오류 발생” 메시지와 함께 배포가 실패하는 DkmException - 애플리케이션에 오류가 있습니다.
- Dll에서 가져온 클래스의 인라인 함수에서 로컬 정적 변수가 초기화되지 않음
- VS 2019 16.5.X: 디버그 세션 크래시에서 라이브 시각적 트리가 마지막으로 열린 동안 여러 시작 프로젝트
- 닫는 괄호만 있는 새 줄에 C++ 서식 지정 들여쓰기가 적용되는 문제를 해결했습니다.
- 일부 사용자가 16.5를 설치하지 못하게 되는 버그 수정
- 디스플레이 구성이 변경되면 Visual Studio가 크래시될 수 있는 문제를 해결합니다.
- IntelliSense 코드 및 관련 작업에 영향을 주는 솔루션을 열 때 속도가 느려지는 문제를 해결했습니다.
- 디버깅할 대상 애플리케이션이 예외를 발생시키는 경우 사용자가 실행할 수 있는 디버거와 크래시되는 문제를 해결했습니다.
- Xcode 11.4 지원이 추가되었습니다.
Visual Studio 2019 버전 16.5.1
‘릴리스 날짜: 2020년 3월 24일’
Visual Studio 2019 버전 16.5 릴리스에서 해결됨
- 언롤된 루프에서 잘못된 조건 코드가 생성되게 할 수 있는 버그가 루프 언롤러에서 해결됨
- ServiceHub.Host.CLR.x64의 작동을 중지하는 버그가 해결됨
- 중국어의 문자열 대체 순서가 잘못되게 하는 문제가 컴파일러 오류 C4533 및 C2362의 중국어 버전에서 해결됨
- 진단 도구 및 성능 프로파일러의 안정성이 개선됨
- const 개체의 순수형 가상 소멸자에서 크래시가 발생하게 하는 코드 생성 문제
- 16.5 미리 보기 2에서 상수 계산 재발이 해결됨
- MacOS를 연결할 수 없는 문제가 해결됨
- 디버그하는 동안 진단 도구와 성능 프로파일러가 XBox 디바이스에서 시작되지 않는 문제가 해결됨
Visual Studio 2019 버전 16.5.0
‘릴리스 날짜: 2020년 3월 16일’
Visual Studio 2019 버전 16.5 릴리스
Visual Studio IDE
- 탭 그룹 오버플로 목록의 각 문서에 마우스를 가져가면 닫기 단추가 나타남
- Azure 디렉터리의 다중 선택
- 사용자에게 권장되는 개선된 기능이 세로 탭에 구현됨
디버깅
- C# 코드 디컴파일
- Docker Windows 컨테이너에서 실행 중인 프로세스에 연결
- Azure 기밀 컴퓨팅을 위한 Open Enclave 디버깅
- .NET 개체 할당 추적 도구에서 할당 뷰의 향상된 기능
- .NET 개체 잠금을 보유하고 있는 관리형 스레드 보기
- Azure 기밀 컴퓨팅을 위한 Open Enclave 디버깅
- DataTips의 속성 및 C++의 자동, 로컬 및 조사식 창 고정
Azure 도구
- 생산성 향상 | 이제 .NET Core 작업자 서버 지원을 제공합니다.
- Azure Functions v3에 대한 지원이 추가되었습니다. 이렇게 하면 프로젝트를 만드는 동안 v2 대신 v3를 사용하는 새 옵션이 제공됩니다.
- App Service Linux에 게시하는 경우 Visual Studio는 이제 앱이 실행될 때까지 기다린 후 브라우저 창을 엽니다.|
C++
- IntelliCode 팀 완성 모델 및 멤버 변수 지원
- IntelliSense 개선 사항
- 명령줄을 통한 연결 관리자
- WSL 디버그/배포
- FIPS 140-2 준수 모드 지원
- CMake 언어 파일 및 더 나은 CMake 프로젝트 조작을 위한 언어 서비스
- 이제 Visual Studio Linux 프로젝트는 보다 정확한 IntelliSense를 사용하여 프로젝트 단위로 원격 헤더 동기화를 제어할 수 있도록 합니다.
F# 언어 및 도구
- 대규모 솔루션의 성능 향상
- Preview Fsharp.Core는 이제
LangVersion
플래그에 의해 보호됩니다. - 다양한 버그 수정 및 향상된 기능
.NET 생산성
- 기존 메서드의 코드 조각을 로컬 함수로 변환하기 위한 리팩터링
- 멤버를 정적으로 만들기 위한 리팩터링
- 문자열 보간을 단순화하기 위한 리팩터링
- 생성된 파일 또는 폴더에서 실행할 분석기를 제외하는 EditorConfig 옵션
- 이제 분석기 작성자는 사용자 지정 코드 리팩터링을 NuGet 패키지로 배포할 수 있습니다.
if
를 변환하여 문이나 식을 전환하는 기능- 가져오지 않은 확장 메서드에 대한 IntelliSense 완성
- System.HashCode를 사용할 수 있는 경우 System.HashCode를 사용하여 GetHashCode 메서드를 구현하는 기능
테스트
JavaScript/TypeScript
- JavaScript/TypeScript를 위한 코드 검색
- TypeScript 파일용 ESLint
- JavaScript 및 TypeScript용 TypeScript 3.8 베타 컴파일러 및 언어 서비스
- 실험적: TextMate 문법 대신 구문 트리를 사용하는 빠른 구문 강조 표시 엔진
SQL
UWP/WPF 도구
- 프로젝트에서 XAML 편집기로 이미지를 끌면 이미지 태그가 생성됨
- XAML 디자이너의 “아트보드 배경” 색 변경이 이제 WPF .NET Core 프로젝트와 함께 작동합니다.
- 이제 XAML 디자이너는 PublishSingleFile, RuntimeIdenfier 및 PublishTrimmed 설정을 포함하는 .NET Core 3.x 프로젝트 로드를 지원합니다.
Xamarin
- 한 번에 여러 에뮬레이터, 시뮬레이터, 디바이스에서 XAML 핫 다시 로드 사용
- Xamarin.Forms XAML UI에 대한 문서 개요
- Android 변경 내용 적용
- 시작 추적이 포함된 사용자 지정 프로필
- Xamarin.Android 생성기에 대한 Kotlin 지원
- 향상된 AndroidManifest.xml 병합
- Android 레이아웃을 위한 사용자 지정 컨트롤 빠른 변경
- 향상된 Android IntelliSense
Visual Studio 버전 16.5의 새로운 기능에 대한 자세한 정보
Visual Studio IDE
디버깅
이제 프로세스에 연결 대화 상자 창을 통해 Docker Windows 컨테이너에서 실행되는 프로세스에 연결할 수 있습니다.
이제 Enclave 디버깅이 Open Enclave SDK를 통해 Visual Studio에서 지원됩니다. Enclave 디버깅에 대한 자세한 내용은 aka.ms/OpenEnclaveVisualStudio를 참조하세요.
.NET 개체 할당 추적 도구에서 할당 뷰의 여러 가지 기능이 향상되었습니다. 먼저 backtrace 뷰가 별도의 패널로 이동하여 할당 유형과 호출되는 함수를 더욱 쉽게 구분할 수 있습니다. 그리고 backtrace 뷰의 호출 트리는 가장 많은 메모리를 할당하는 함수를 더욱 쉽게 진단할 수 있도록 대칭 이동되었습니다. 마지막으로 값과 참조 형식을 나타내는 아이콘이 추가되었고 값 및 참조 컬렉션의 아이콘 두 개가 곧 추가로 제공될 예정입니다.
C++
C++ 개발자는 이제 자체 코드베이스에서 IntelliCode 모델을 학습시킬 수 있습니다. 이 모델은 팀의 사례를 활용하므로 팀 완성 모델이라고 불립니다. 또한 멤버 변수에 대한 IntelliCode 제안을 개선했습니다.
Enter, Space 및 Tab이 커밋 문자로 작동할지 여부와 Tab이 코드 조각을 삽입하는 데 사용될지 여부를 설정/해제하는 기능이 추가되었습니다. 도구 > 옵션 > 텍스트 편집기 > C/C++ > 고급 > IntelliSense에서 해당 설정을 찾으세요.
원격 배포 시스템에서 빌드 시스템을 분리할 때 Visual Studio의 WSL 기본 지원을 활용할 수 있습니다. 이렇게 하면 WSL에서 기본적으로 빌드하여 빌드 아티팩트를 디버깅용 두 번째 원격 시스템에 배포할 수 있습니다. 이 워크플로는 CMake 프로젝트 및 MSBuild 기반 Linux 프로젝트 모두에서 지원됩니다.
이제는 명령줄을 통해 저장된 원격 연결과 상호 작용할 수 있습니다. 이는 새 개발 컴퓨터를 프로비저닝하거나 연속 통합에 Visual Studio를 설정하는 등의 작업에 유용합니다.
이제 Visual Studio는 원격 Linux 시스템을 대상으로 하는 C++ 애플리케이션을 개발할 때 FIPS 140-2 준수 모드를 지원합니다.
원격 Linux 시스템을 대상으로 하는 CMake 프로젝트의 소스 파일 복사본이 최적화되었습니다. 이제 Visual Studio에서 원격으로 복사된 마지막 소스 세트의 “지문 파일”을 유지하고 변경된 파일 수에 따라 동작을 최적화합니다.
CMake 스크립트 파일의 함수, 변수 및 대상에 대해 정의로 이동 및 모든 참조 찾기와 같은 코드 탐색 기능이 지원됩니다.
CMake 스크립트를 수동으로 편집하지 않고 IDE에서 CMake 프로젝트의 소스 파일 및 대상을 추가하고, 제거하고, 이름을 바꿉니다. 솔루션 탐색기를 사용하여 파일을 추가하거나 제거하는 경우 Visual Studio가 CMake 프로젝트를 자동으로 편집합니다. 솔루션 탐색기의 대상 뷰에서 프로젝트의 대상을 추가하고, 제거하고, 이름을 바꿀 수도 있습니다.
F# 언어 및 도구
이 릴리스의 주요 초점은 Visual Studio에서 큰 F# 코드베이스의 성능 및 확장성을 개선하는 것이었습니다. 이 작업은 매우 큰 코드베이스를 가진 고객과 직접 작업하여 영향을 받았습니다. 성능 작업은 계속 진행되지만 중간 규모부터 큰 규모의 코드베이스를 사용하면 메모리 사용량이 줄어듭니다.
성능 향상 외에도 이 릴리스에는 다양한 수정 사항이 포함되어 있으며 이 중 상당수는 훌륭한 F# OSS 커뮤니티에서 제공했습니다.
F# 언어
여러 가지 F# 미리 보기 언어 기능이 병합되었습니다. 프로젝트 파일에서 LangVersion
을 preview
로 설정하여 사용해볼 수 있습니다.
- F# RFC FS-1076 - 컬렉션에 대한 끝 조각화 및 인덱싱이 F# 미리 보기에 대해 완료되었습니다.
- F# RFC FS-1077 - 독립 조각화가 F# 미리 보기에 대해 완료되었습니다.
- F# RFC FS-1077 - 고정 인덱스를 사용하는 3D/4D 배열의 조각화가 F# 미리 보기에 대해 완료되었습니다.
- F# RFC FS-1080 - 점이 없는 Float32가 F# 미리 보기용으로 완료되었으며 Grzegorz Dziadkiewicz가 기여했습니다 .
F# 컴파일러
- .NET Core에 대한
--standalone
지원이 추가되었습니다. - 다양한 오류 복구 기능이 Eugene Auduchinok에 의해 개선되었습니다.
- 프로젝트 파일에서 AssemblyInfo 생성 지원이 추가되었습니다.
- 일치하지 않는 익명 레코드에 대한 오류 보고 기능이 Isaac Abraham에 의해 개선되었습니다.
- 컴파일러에서 형식 약어 사용이
byref
분석을 무시할 수 있는 버그가 해결되었습니다. - 이제 F# 시그니처 파일에서
[<Literal>]
특성을 지정할 수 있습니다. LangVersion
플래그가 문화권에 종속되는 버그가 해결되었습니다.- 소스에 정의된 대량 형식 및 식이 스택 오버플로가 되는 버그가 해결되었습니다.
- 임의의 의미 없는 특성이 F# 형식 확장에 정의될 수 있는 버그가 해결되었습니다.
- SByte 및 Byte 리터럴 값의 완전한 일치로 경고가 발생하는 버그가 해결되었습니다.
byref
및byref
같은 값을 포함한 잘못된 형식 약어가 정의될 수 있는 버그가 해결되었습니다.- 컴파일러가 잘못된 이진 및 8진수 리터럴을 허용하는 버그가 Grzegorz Dziadkiewicz에 의해 해결되었습니다.
P/Invoke to "kernel32.dll"
이 .NET Core의 FreeBSD 소스 빌드에서 호출되는 버그가 Adeel Mujahid에 의해 해결되었습니다.- 그 밖에 여러 가지 소소한 성능이 Eugene Auduchinok와 Steffen Formann에 의해 개선되었습니다.
F# 핵심 라이브러리
ValueNone
에서string
또는.ToString
을 호출하면 예외가 throw되는 버그가 해결되었습니다.- 순차적으로 처리된 비동기 식 집합 내에서 호출
Async.Sleep
이 순차적으로 처리되지 않는 버그가 해결 되었습니다. Async.Choice
에서 메모리 누수가 발생할 수 있는 문제가 Fraser Waters에 의해 해결되었습니다.
Visual Studio용 F# 도구
- Visual Studio 정보 창의 제품 버전이 F# 4.6으로 잘못 표시되는 버그가 해결되었습니다.
- F# 스크립트의
fsi
형식이 정의되지 않은 방식으로 잘못 처리되는 버그가 해결되었습니다.
F# 오픈 소스 개발 환경
- F# 리포지토리의 FSharp.Compiler.Service 빌드가 .NET SDK 사용을 위해 Chet Husk에 의해서 이동되었습니다.
.NET 생산성
이제 기존 메서드의 코드 조각을 로컬 함수로 전환할 수 있습니다. 추출하려는 코드를 강조 표시합니다. (Ctrl+.)을 눌러 빠른 작업 및 리팩터링 메뉴를 트리거합니다. 로컬 함수 추출을 선택합니다.
이제 멤버를 정적으로 만들 수 있습니다. 멤버 이름에 커서를 놓습니다. (Ctrl+.)을 눌러 빠른 작업 및 리팩터링 메뉴를 트리거합니다. 정적으로 만들기를 선택합니다.
이제 가능한 경우 문자열 보간을 단순화할 수 있습니다. 문자열 보간에 커서를 놓습니다. (Ctrl+.)을 눌러 빠른 작업 및 리팩터링 메뉴를 트리거합니다. 보간 간소화를 선택합니다.
이제 분석기를 실행할 때 생성된 파일이나 폴더를 제외할 수 있습니다. EditorConfig 파일을 만들고 다음 구문을 사용하여 필요한 파일 또는 폴더를 생성된 것으로 표시합니다.
이제 분석기 작성자는 사용자 지정 코드 리팩터링을 이전에 VSIX로만 배포될 수 있었던 NuGet 패키지로 배포할 수 있습니다.
테스트
이제 .NET Core 테스트를 프로파일링할 수 있습니다. 프로파일링의 필수 조건은 전체 PDB를 생성하도록 .NET Core 프로젝트를 구성하는 것입니다. 또한 Microsoft.Test.SDK의 최소 버전인 16.4로 업그레이드하는 것이 좋습니다. 그러면 x86 및 x64 아키텍처 설정에서 테스트를 프로파일링할 수 있습니다. 테스트를 프로파일링하려면 테스트 탐색기의 상황에 맞는 메뉴에서 “프로필”을 선택합니다. 테스트 프로파일링은 Visual Studio에서 정적 계측 및 성능 탐색기(.vsp) 문서를 통해 지원됩니다.
이제 테스트에 대한 프로세서 아키텍처의 기본 설정에 x64 및 x86 옵션 외에 세 번째 옵션인 ‘자동’이 있습니다. ‘자동’은 .NET Framework 테스트와 .NET Core 테스트를 대상으로 하는 테스트에 대해 서로 다른 기본 아키텍처를 지원합니다. .NET Framework 테스트는 기본값이 x86 테스트 실행으로 설정되고, .NET Core 테스트는 기본값이 x64로 설정됩니다. ‘자동’을 사용하면 아키텍처 선택을 사용자가 설정하지 않은 상태로 둘 수 있으며, ‘자동’은 이러한 프레임워크에 대해 서로 다른 기본값을 지원합니다. 이전에는 모든 경우에 x86이 기본값이었지만, .NET Core 테스트는 기본값이 x64로 설정되는 방식으로 도입되었으므로 기본 설정에 대한 요구 사항이 나뉘었습니다.
이 릴리스에는 테스트 검색 및 실행(특히, 많은 테스트가 포함된 대규모 솔루션)에 대한 상당한 성능 향상이 포함되었습니다. 사용자 고유의 벤치마크를 실행하여 해당 가치를 평가하는 것이 좋습니다. Roslyn 코드베이스(C# 및 Visual Basic 컴파일러)를 사용한 경우 테스트 탐색기에서 메모리 소비가 50~60% 줄고 로드 시간이 최대 60% 줄었습니다.
이제 Live Unit Testing에 대한 향상된 진단을 사용할 수 있습니다. Live Unit Testing 빌드가 실패하면 추가 진단 정보가 출력됩니다(MSBuild 로그 포함). 또한 출력 경로가 하드 코드된 경우를 보고합니다.
JavaScript/TypeScript
VS 검색은 이제 TypeScript 및 JavaScript 파일에서 형식과 멤버를 검색하는 기능을 지원합니다. 열려 있는 태그 파일(예: HTML, CSHTML)에서 JavaScript 블록을 검색하는 기능도 지원됩니다.
Visual Studio는 이제 Typescript 파일용 ESLint를 지원합니다. 권장 규칙 세트를 포함하는 전역 구성을 사용하거나 ESLint를 전체 사용자 지정으로 프로젝트에 로컬로 설정할 수 있습니다. 추가 정보 및 지침은GitHub 페이지 에서 확인할 수 있습니다.
Xamarin
XAML 핫 다시 로드를 사용하여 한 번에 여러 Xamarin.Forms 대상에서 변경 내용이 업데이트된 것을 확인할 수 있습니다. 여러 개의 시작 프로젝트를 사용하여 앱을 디버그하고 XAML을 변경한 뒤 저장을 눌러 Android 및 iOS에서의 변경 내용을 동시에 표시합니다.
이제 문서 개요 창에서 Xamarin.Forms 컨트롤의 계층 구조를 볼 수 있습니다. Windows에서는 Ctrl+Alt+T(보기 > 다른 창 > 문서 개요)를 사용하여 열 수 있습니다. Mac에서는 보기 > 패드 > 문서 개요를 통해 열 수 있습니다.
이제 Android 변경 내용 적용을 사용하여 런타임에 Android 리소스 변경을 적용할 수 있습니다. 이 기능을 사용하면 애플리케이션을 다시 시작하지 않고도 Android 디바이스 또는 에뮬레이터에서 Android 리소스 파일(XML 레이아웃, 드로어블 등)의 변경 사항을 신속하게 확인할 수 있습니다.
- Android 애플리케이션에서 시작 추적을 사용할 때 사용자 고유의 사용자 지정 프로필을 생성할 수 있습니다. 이를 통해 APK 크기를 최소한으로 늘리고도 훨씬 더 성능이 좋은 시작 환경을 제공할 수 있습니다.
- 이제 Kotlin 라이브러리에 대해 Xamarin.Android 바인딩을 생성할 수 있습니다.
- 이제 Android 프로젝트에서 AndroidManifest.xml 파일을 병합할 때 Google 매니페스트 병합을 사용할 수 있습니다. 이렇게 하면 각 매니페스트와 해당 콘텐츠가 병합되는 방법을 사용자 지정할 수 있습니다. 적용할 수 있는 규칙에 대한 자세한 내용은 여러 매니페스트 파일 병합을 확인하세요.
- 이제 코드베이스를 수정하면 열려 있는 모든 디자이너 화면을 자동으로 다시 로드하는 새 옵션을 옵트인할 수 있습니다.
- 통합 편집기 기능을 활용하여 응답성이 뛰어나고 더 정확한 IntelliSense를 제공합니다. 여기에는 특성 따옴표와 끝 태그 이름 자동으로 업데이트와 같은 일반적인 XML 구성에 대한 개선 완료와 같은 많은 변경이 포함됩니다. Android XML 편집기 기본 설정을 사용하여 해당 동작을 제어할 수 있습니다.
UWP/WPF 도구
이제 프로젝트 솔루션 탐색기에서 XAML 편집기로 이미지를 끌면 소스 속성이 올바른 이미지 경로로 설정된 XAML 이미지 태그가 생성됩니다.
이제 XAML 디자이너의 “아트보드 배경” 색 변경이 WPF .NET Core 프로젝트에서 작동합니다(옵션 > 환경 > 글꼴 및 색에서 XAML 디자이너 설정으로 변경 및 아트보드 배경 업데이트).
이제 XAML 디자이너는 프로젝트 파일(csproj)에 PublishSingleFile, RuntimeIdenfier 및 PublishTrimmed 설정을 포함하는 .NET Core 3.x 프로젝트 로드를 지원합니다. 해당 설정을 포함하면 디자이너 성능이 느려집니다.
Developer Community의 주요 문제
- .NET 처리되지 않은 예외
- 스레드 창을 열면 Visual Studio 2019가 크래시됨
- ScriptedSandbox64.exe가 하루에도 몇 번씩 크래시됨
- View.SynchronizeClassView에 대한 사용자 바로 가기 키가 더 이상 작동하지 않음
- ASan 바꾸기 연산자 삭제 오버로드가 호출되지 않음
- 테스트가 실패하고 새 테스트를 시작할 수 없음
- 문서를 구성하고 있습니다. 백그라운드 작업이 완료될 때까지 기다리는 중입니다.
- 솔루션에 installshield Express 프로젝트가 로드되면 솔루션 시작 시 : 패키지에 대해 SetSite 실패 - 공유 웹 구성 요소 - (VS 16.4.3 및 16.4.4), ScaffoldingPackage, EurekaPackage, WebPublishPackage
- VB.NET ASP.NET 프로젝트를 빌드할 때 Visual Studio Professional 2019가 크래시됨
- 새로운 미리 보기 검색 “전체 솔루션 검색”에서 전체 솔루션을 검색하지 않음
- SQL Server 개체 탐색기 및 서버 탐색기에서 SQL 테이블 디자이너를 보거나 열 수 없음
- 유니버설 인증을 사용하여 원격 머신에 UWP 앱을 배포하면 "오류: Microsoft Visual Studio 원격 디버거 연결할 수 없음" 오류 메시지가 표시됩니다.
- 테스트 탐색기에서 테스트를 실행하지 않음: .NET Core 런타임 버전에서 너무 까다로움
- 네이티브 C++ 코드에서 중단점에 도달할 때 msvsmon.exe가 충돌합니다.
- CSharpeRenameTrackingCodeFixProvider에서 오류가 발생하여 사용하지 않도록 설정됨
- F4 - 다음 오류/다음 결과 문제
- "알 수 없는 테스트 프레임워크"로 인해 .NET Core xUnit 테스트에서 "프로필 테스트"가 실패함
- uwp 애플리케이션을 디버그하는 중에 크래시 발생
- "신속한 XAML 도구 키트" 검색 시 Visual Studio의 확장 검색이 중단됨
- 단위 테스트를 실행하면 UWP 앱이 시작됩니다.
- 문제를 보고하는 기록 단계에서 추가 정보 수집을 완료하지 않음
- 16.5 미리 보기 2 C++를 사용하면 로컬 복사 동작 변경으로 인해 빌드가 중단됨
- "env" 블록이 launch.vs.json의 Linux 구성에서 작동하지 않음, CMakeSettings에 정의된 환경 변수가 선택되지 않음
- 잘못된 C6011 경고
- C++ 힌트 파일(cpp.hint)에 매크로 추가 프롬프트가 매크로가 추가된 후 표시될 수 있음
- 디버깅 중 검색 실행 시 Visual Studio 잠김
- XAML 편집기 / 속성 창
- 데이터베이스 프로젝트로 대상 플랫폼 azure v12를 선택할 수 없음
- 빌드 메뉴의 VS 데이터베이스 프로젝트 - 배포가 아무 작업도 수행하지 않음
- SQL Server 개체 탐색기 | DB에서 F4 키가 작동하지 않음
- SSDT 게시 스크립트에 백슬래시가 없음
- 수정된 추가 Developer Community 항목
- 패키지 관리자에는 도구, NuGet 패키지 관리자 및 솔루션을 위한 Nuget 패키지 관리에 표시된 여러 오류가 있습니다.
- MSVC codegen 오류 벡터 reverse_iterator x64 C++17 디버그 빌드
- VS 15.8 미리 보기 4 constexpr 암시적 변환 연산자 오류
- 사용자 지정 프로젝트 템플릿이 무시됨
- C++/CLI 최적화 프로그램의 버그
- _com_ptr_t는 clang 9.0RC에서 허용되지 않습니다.
- 템플릿 코드 컴파일 시 Visual Studio 16.3.1이 실패함(예: Basler Pylon SDK에서)
- VS 16.4.0 미리 보기 1.0 - ArgumentException 컬렉션이 다른 스냅샷을 참조합니다.
- 권한을 높여야 할 때 Visual Studio를 업데이트하지 않음
- clang-형식은 전체 파일을 열고 닫는 중괄호에서 형식을 지정합니다.
- FatalError - System.ArgumentException: 제공된 SnapshotPoint가 잘못된 스냅샷에 있으면 라이브 단위 테스트가 실패합니다.
- 탭을 세로 탭 레이아웃(오른쪽 또는 왼쪽)으로 끌 때 Visual Studio가 충돌합니다.
- C2440 VS 16.4 미리 보기 1에서 /permissive-를 사용한 atlenc.h 빌드 오류
- 네임스페이스의 펼침 아이콘을 클릭하면 Visual Studio IDE가 충돌합니다.
- C4265 경고에 결함이 있습니다.
- 소스 코드의 모든 위치에 녹색 구부러진 곡선 표시
- 창 레이아웃을 전환하는 동안 도구 창이 이동하거나 사라지는 경우가 있음
- 테스트 검색 실패
- VS 2019 / C++ / Google 테스트: 단위 테스트를 작동할 수 없습니다.
- Visual Studio IDE 모노 통합에서 원래 빌드 경로에 없는 모듈의 디버그를 한 단계씩 실행할 수 없음
- 문서 탭 선택 시 도킹 해제
- iOS에서 디버그 세션을 시작한 후 너무 빨리 디버깅을 중지하면 디버거가 중단됨
- Intellisense가 XSML의 x:FactoryMethod 특성을 인식하지 못함
- WPF ElementHost를 사용하여 Windows.Forms 앱에서 Debug.WriteLine을 사용하는 경우 단일 단계에서 디버거 오류 발생
- 솔루션이 로드될 때 CPU 사용량이 일정하게 유지됨
- nodiscard 지원이 잘못 감지됨(이유 포함)
- 추론 가이드에서 intellisense/vcpkgsrv 충돌 발생
- VS2019에서 SQL Server 단위 테스트 프로젝트 템플릿을 찾을 수 없음
- "codedesign"이 코드 1로 인해 종료됨
- Android Device Manager 인터넷 연결 문제 발생
- VS2019에서 잘못된 SSE 코드 생성
- error LNK2005: “__cdecl Windows::Foundation::operator co_await(struct Windows::Foundation::IAsyncAction ^)” (??__LFoundation@Windows@@YA@PE$AAUIAsyncAction@01@@Z) already defined in pch.obj
- 동적 라이브러리 프로젝트 - C++/Cli 및 netcoreapp3.1 대상을 사용하는 네이티브 라이브러리 종속성 연결 오류
- UIStackView에 뷰가 포함된 경우 iOS 디자이너의 콘텐츠 우선 순위 속성이 누락됨
- Xamarin 모바일 디버거가 IDE를 크롤링으로 가져옴
- Linux 및 WSL 구성에 대한 폴더 보기에서 CMakeLists.txt에 “디버그 및 시작 설정"에 대한 진입점이 없음
- 250%에서 100%로 크기를 다시 조정하면 Visual Studio가 시작되지 않음
- 디버그할 때 dotnet dev-certs를 건너뛰기 위한 지원이 추가됨
- 정규식으로 문자열을 분할하면 잘못된 것과 같은 결과가 반환됨
- C++ 종속 기본 클래스 및 SEH 예외 필터
- VC 16.3 list::splice 버그
- 프로젝트에서 파일을 삭제할 때 나타나는 대화 상자 메시지가 이상함
- 게시 설정 만들기 - "프로필 만들기" 단추를 눌러도 프로필 만들기 마법사가 열리지 않음
- AppInstaller.exe가 Windows 애플리케이션 패키징 프로젝트에서 만들어진 *.applinstaller 파일을 열 수 없음
- 새 항목 추가 대화 상자의 Windows Forms 선택 항목에서 상속된 양식/사용자 컨트롤 옵션이 누락됨
- 기본 경로로 이동할 때 브라우저의 보기에 내가 있던 페이지가 나타나지 않음
- VS 16.4.0 Preview 1.0 - BuildWindow InvalidOperationException
- 탭이 왼쪽에 있을 때 창 탭이 다시 정렬됨
- "Visual Studio 사용자 의견" 창에서 번역이 누락됨
- decltype(member)::staticMethod()의 잘못된 오류 보고
- 회귀: ''{}을 사용하여 C++/CLI 값 클래스를 초기화할 때 IntelliSense 오류가 발생했습니다.
- VS2019 개발자 명령 프롬프트의 cpp 프로젝트에 대한 빌드 프로세스는 v141 Platformtoolset에 대해 VS2019 cl.exe를 사용함
- 높은 CPU 사용량
- IntegratedConsoleDebugging 프로젝트 기능이 Asp.Net Core 프로젝트 시스템에서 적용되지 않음
- 언어 팩이 설치된 상태로 파일을 열 때 충돌 발생
- razor 구성 요소 편집 시 충돌 발생
알려진 문제
아래 링크를 따라 Visual Studio 2019 버전 16.5의 문제 및 사용 가능한 해결 방법을 모두 확인하세요.
피드백 및 제안
많은 의견 부탁드립니다! 문제가 있으면 설치 관리자나 Visual Studio IDE 자체의 오른쪽 위에서 문제 보고 옵션을 통해 알려주세요. 아이콘은 오른쪽 위 모서리에 있습니다. Visual Studio 개발자 커뮤니티에서 제품에 대해 제안하거나 문제를 추적하고, 질문하고 대답을 찾고 새로운 기능을 제안할 수 있습니다. 라이브 채팅 지원을 통해 무료 설치 도움말을 가져올 수도 있습니다.
Blogs
개발자 도구 블로그 사이트에서 사용 가능한 인사이트 및 권장 사항을 활용하여 모든 새 릴리스에 대한 최신 정보와 다양한 기능에 대한 심층적인 게시물을 확인하세요.
Visual Studio 2019 릴리스 정보 기록
이전 버전의 Visual Studio 2019와 관련된 자세한 내용은 Visual Studio 2019 릴리스 정보 기록 페이지를 참조하세요.