Visual Studio 2019 버전 16.4 릴리스 정보
개발자 커뮤니티 | 시스템 요구 사항 | 호환성 | 배포 가능 코드 | 릴리스 기록 | 사용 조건 | 블로그 Visual Studio Docs | 의 새로운 기능
참고 항목
이것은 최신 버전의 Visual Studio가 아닙니다. 최신 릴리스를 다운로드하려면 Visual Studio 사이트를 방문하세요.
지원 기간
이제 Visual Studio 2019 버전 16.4는 지원되지 않습니다.
Visual Studio 2019 버전 16.4의 엔터프라이즈 및 전문 사용자에게 지원되었으며, 2021년 10월까지 보안 취약점에 대한 수정 사항을 수신했습니다. 이 시간은 2020년 8월에 Visual Studio 2019 버전 16.7이 Visual Studio 2019 제품의 차기 서비스 기준으로 지정되었다는 사실에 따라 결정되었습니다. Visual Studio에서 지원 기준에 대한 자세한 내용은 Visual Studio 2019 지원 정책을 참조하세요.
최신 버전의 릴리스 정보를 참조하거나 Visual Studio 사이트를 방문하여 지원되는 최신 버전의 Visual Studio 2019를 다운로드합니다.
Visual Studio 2019 버전 16.4 릴리스
- 2021년 10월 12일 — Visual Studio 2019 버전 16.4.27
- 2021년 9월 14일 - Visual Studio 2019 버전 16.4.26
- 2021년 8월 10일 - Visual Studio 2019 버전 16.4.25
- 2021년 7월 13일 - Visual Studio 2019 버전 16.4.24
- 2021년 6월 8일 - Visual Studio 2019 버전 16.4.23
- 2021년 5월 11일 - Visual Studio 2019 버전 16.4.22
- 2021년 4월 13일 - Visual Studio 2019 버전 16.4.21
- 2021년 3월 9일 - Visual Studio 2019 버전 16.4.20
- 2021년 2월 10일 - Visual Studio 2019 버전 16.4.19
- 2021년 2월 9일 - Visual Studio 2019 버전 16.4.18
- 2021년 1월 12일 - Visual Studio 2019 버전 16.4.17
- 2020년 12월 8일 - Visual Studio 2019 버전 16.4.16
- 2020년 11월 10일 - Visual Studio 2019 버전 16.4.15
- 2020년 10월 13일 - Visual Studio 2019 버전 16.4.14
- 2020년 9월 8일 - Visual Studio 2019 버전 16.4.13
- 2020년 8월 11일 - Visual Studio 2019 버전 16.4.12
- 2020년 7월 14일 - Visual Studio 2019 버전 16.4.11
- 2020년 6월 9일 - Visual Studio 2019 버전 16.4.10
- 2020년 5월 27일 - Visual Studio 2019 버전 16.4.9
- 2020년 5월 12일 - Visual Studio 2019 버전 16.4.8
- 2020년 4월 14일 - Visual Studio 2019 버전 16.4.7
- 2020년 3월 10일 - Visual Studio 2019 버전 16.4.6
- 2020년 2월 11일 - Visual Studio 2019 버전 16.4.5
- 2020년 1월 30일 - Visual Studio 2019 버전 16.4.4
- 2020년 1월 14일 - Visual Studio 2019 버전 16.4.3
- 2019년 12월 17일 - Visual Studio 2019 버전 16.4.2
- 2019년 12월 10일 - Visual Studio 2019 버전 16.4.1
- 2019년 12월 3일 - Visual Studio 2019 버전 16.4.0
보관된 릴리스 정보
- Visual Studio 2019 버전 16.3 릴리스 정보
- 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 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: 코드를 더 빠르게 실행합니다. 스마트하게 작업하세요. 미래를 만드세요.
Visual Studio 2019 버전 16.4 미리 보기에서 사용된 모든 Developer Community 항목의 전체 목록 참조
Visual Studio 2019 버전 16.4.27
릴리스 날짜: 2021년 10월 12일
Visual Studio 2019 버전 16.4.27에서 해결된 주요 문제
보안 권고 알림
CVE-2021-1971 OpenSSL 서비스 거부 취약성
Git에서 사용되는 OpenSSL 라이브러리에는 잠재적 서비스 거부 취약성이 있습니다.
CVE-2021-3449 OpenSSL 서비스 거부 취약성
Git에서 사용되는 OpenSSL 라이브러리에는 잠재적 서비스 거부 취약성이 있습니다.
CVE-2021-3450 OpenSSL 서비스 거부 취약성
Git에서 사용되는 OpenSSL 라이브러리에 잠재적 플래그 바이패스가 있습니다.
Visual Studio 2019 버전 16.4.26
‘릴리스 날짜: 2021년 9월 14일’
Visual Studio 2019 버전 16.4.26에서 해결된 주요 문제
보안 권고 알림
CVE-2021-26434 Visual Studio 잘못된 권한 할당 권한 상승 취약성
C++를 사용한 게임 개발을 설치하고 Unreal Engine 설치 관리자 워크로드를 선택한 후 Visual Studio에 권한 할당 취약성이 있습니다. 설치하는 동안 시스템은 LPE에 취약하며 모든 사용자에게 쓰기 권한이 있는 디렉터리를 만듭니다.
CVE-2021-36952 Visual Studio 원격 코드 실행 취약성
메모리에서 개체를 부적절하게 처리하는 경우 원격 코드 실행 취약성이 Visual Studio에 존재합니다. 이러한 취약성 악용에 성공한 공격자는 현재 사용자의 컨텍스트에서 임의의 코드를 실행할 수 있습니다.
Visual Studio 2019 버전 16.4.25
‘릴리스 날짜: 2021년 8월 10일’
Visual Studio 2019 버전 16.4.25에서 해결된 주요 문제
- 업데이트 명령의 명령줄 실행에 영향을 주는 문제가 해결되었습니다. 처음 업데이트에 실패한 경우 이후에 업데이트 명령을 실행하면 이제 업데이트가 중단된 지점에서 이전 작업이 다시 시작됩니다.
보안 권고 알림
CVE-2021-26423 .NET Core 서비스 거부 취약성
WebSocket 엔드포인트를 제공하는 .NET (Core) 서버 애플리케이션이 단일 WebSocket 프레임을 읽으려고 시도하는 동안 끊임없이 반복되는 서비스 거부 취약성이 발생합니다.
CVE-2021-34485 .NET Core 정보 공개 취약성
Linux와 macOS에서 전역 읽기 권한을 사용하여 주문형 덤프가 생성되고 크래시 덤프를 수집하기 위해 도구에서 덤프가 생성될 때 정보 공개 취약성이 발생합니다.
CVE-2021-34532 ASP.NET Core 정보 공개 취약성
JWT 토큰을 구문 분석할 수 없는 경우 JWT 토큰이 로그되는 위치에 정보 공개 취약성이 발생합니다.
Visual Studio 2019 버전 16.4.24
릴리스 날짜: 2021년 7월 13일
Visual Studio 2019 버전 16.4.24에서 해결된 주요 문제
- .NET 3.1.117 SDK는 Visual Studio 2019에 삽입되었습니다.
Visual Studio 2019 버전 16.4.23
‘릴리스 날짜: 2021년 6월 8일’
Visual Studio 2019 버전 16.4.23에서 해결된 주요 문제
보안 권고 알림
CVE-2021-31957 ASP.NET 서비스 거부 취약성
ASP.NET Core가 클라이언트 연결 해제를 잘못 처리할 때 서비스 거부 취약성이 발생합니다.
Visual Studio 2019 버전 16.4.22
릴리스 날짜: 2021년 5월 11일
Visual Studio 2019 버전 16.4.22에서 해결된 주요 문제
- 관리자가 업데이트를 배포하기 위해 Visual Studio의 새 레이아웃을 만들 때 업데이트가 실패하는 문제를 해결했습니다. 레이아웃 위치를 이동한 후 클라이언트 컴퓨터가 업데이트되지 않습니다.
보안 권고 알림
CVE-2021-27068 중첩된 폴더에 python.exe를 심을 경우 RCE 가능성
python 코드로 작업 영역을 열 때 원격 코드 실행 취약성이 존재하며 해당 작업 영역의 스크립트 하위 폴더에 python.exe이 포함되어 있습니다.
CVE-2021-31204 .NET Core 권한 상승 취약성
사용자가 Linux 또는 macOS 기반 운영 체제에서 단일 파일 애플리케이션을 실행하는 경우 .NET 5.0 및 .NET Core 3.1에는 권한 상승 취약성이 존재합니다.
Visual Studio 2019 버전 16.4.21
‘릴리스 날짜: 2021년 4월 13일’
Visual Studio 2019 버전 16.4.21에서 해결된 주요 문제
보안 권고 알림
CVE-2021-27064 Visual Studio 설치 관리자 권한 상승 취약성
Visual Studio 설치 관리자가 상승된 권한으로 피드백 클라이언트를 실행할 때 원격 코드 실행 취약성이 존재합니다.
CVE-2021-28313 / CVE-2021-28321 / CVE-2021-28322 진단 허브 표준 수집기 서비스 권한 상승 취약성
권한 상승 취약성은 진단 허브 표준 수집기가 데이터 작업을 잘못 처리하는 경우에 존재합니다.
Visual Studio 2019 버전 16.4.20
‘릴리스 날짜: 2021년 3월 9일’
Visual Studio 2019 버전 16.4.20에서 해결된 주요 문제
보안 권고 알림
CVE-2021-21300 Git for Visual Studio 원격 코드 실행 취약성
원격 코드 실행 취약성은 Visual Studio에서 악성 리포지토리를 복제하는 경우에 존재합니다.
CVE-2021-26701 .NET Core 원격 코드 실행 취약성
텍스트 인코딩이 수행되는 방식으로 인해 .NET 5 및 .NET Core에 원격 코드 실행 취약성이 존재합니다.
Visual Studio 2019 버전 16.4.19
릴리스 날짜: 2021년 2월 10일
Visual Studio 2019 버전 16.4.19에서 해결된 주요 문제
Visual Studio 2019 버전 16.4.18
‘릴리스 날짜: 2021년 2월 9일’
Visual Studio 2019 버전 16.4.18에서 해결된 주요 문제
보안 권고 알림
CVE-2021-1639 TypeScript 언어 서비스 원격 코드 실행 취약성
Visual Studio가 JavaScript 또는 TypeScript 코드 파일을 포함하는 악성 리포지토리를 로드하는 경우에 원격 코드 실행 취약성이 존재합니다.
CVE-2021-1721 .NET Core 서비스 거부 취약성
X509 인증서 체인을 작성하는 동안 HTTPS 웹 요청을 만드는 경우에 서비스 거부 취약성이 존재합니다.
CVE-2021-24112 .NET 5 및 .NET Core 원격 코드 실행 취약성
그래픽 인터페이스에 참조가 남아 있을 때 메타파일을 삭제하는 경우 원격 코드 실행 취약성이 존재합니다. 이 취약성은 macOS 또는 Linux에서 실행되는 시스템에만 존재합니다.
Visual Studio 2019 버전 16.4.17
‘릴리스 날짜: 2020년 1월 12일’
Visual Studio 2019 버전 16.4.17에서 해결된 주요 문제
보안 권고 알림
CVE-2021-1651 / CVE-2021-1680 진단 허브 표준 수집기 서비스 권한 상승 취약성
권한 상승 취약성은 진단 허브 표준 수집기가 데이터 작업을 잘못 처리하는 경우에 존재합니다.
CVE-2020-26870 Visual Studio 설치 관리자 원격 코드 실행 취약성
원격 코드 실행 취약성은 Visual Studio 설치 관리자가 악성 markdown을 표시하려고 시도하는 경우에 존재합니다.
CVE-2021-1723 .NET Core 및 Visual Studio 서비스 거부 취약성
서비스 거부 취약성은 Kestrel의 구현에 존재합니다.
Visual Studio 2019 버전 16.4.16
릴리스 날짜: 2020년 12월 8일
Visual Studio 2019 버전 16.4.16에서 해결된 주요 문제
보안 권고 알림
CVE-2020-17156 Visual Studio 원격 코드 실행 취약성
원격 코드 실행 취약성은 Visual Studio에서 악성 리포지토리를 복제하는 경우에 존재합니다.
Visual Studio 2019 버전 16.4.15
‘릴리스 날짜: 2020년 11월 10일’
Visual Studio 2019 버전 16.4.15에서 해결된 주요 문제
보안 권고 알림
CVE-2020-17100 Visual Studio 변조 취약성
Visual Studio용 Python 도구가 python27 폴더를 만들 때 변조 취약성이 존재합니다. 이 취약성을 성공적으로 악용한 공격자가 상승된 컨텍스트에서 프로세스를 실행할 수 있습니다.
Visual Studio 2019 버전 16.4.14
릴리스 날짜: 2020년 10월 13일
Visual Studio 2019 버전 16.4.14에서 해결된 주요 문제
- 특정 Intel 프로세서에 대한 JCC erratum의 성능 영향을 완화하기 위해 옵트인 플래그를 추가했습니다.
- 이제 PGO MEMMAX 스위치가 사용자 입력이 적용될 가능성이 높은 방식으로 동작하게 됩니다.
- PGO 프로파일링을 위해 예약된 메모리양이 감소했습니다.
- .NET Core 2.1.13 Runtime 및 3.1.109 SDK(3.1.9)가 Visual Studio 2019에 추가되었습니다.
Visual Studio 2019 버전 16.4.13
‘릴리스 날짜: 2020년 9월 8일’
Visual Studio 2019 버전 16.4.13에서 해결된 주요 문제
보안 권고 알림
CVE-2020-1130 진단 허브 표준 수집기 권한 상승 취약성
진단 허브 표준 수집기가 데이터 작업을 잘못 처리하는 경우 권한 상승 취약성이 존재합니다. 이 취약성을 성공적으로 악용한 공격자가 상승된 컨텍스트에서 프로세스를 실행할 수 있습니다.
CVE-2020-1133 진단 허브 표준 수집기 권한 상승 취약성
진단 허브 표준 수집기가 파일 작업을 잘못 처리하는 경우 권한 상승 취약성이 존재합니다. 이 취약성을 성공적으로 악용한 공격자가 상승된 컨텍스트에서 프로세스를 실행할 수 있습니다.
CVE-2020-16856 Visual Studio 원격 코드 실행 취약성
메모리에서 개체를 부적절하게 처리하는 경우 원격 코드 실행 취약성이 Visual Studio에 존재합니다. 이러한 취약성 악용에 성공한 공격자는 현재 사용자의 컨텍스트에서 임의의 코드를 실행할 수 있습니다.
CVE-2020-16874 Visual Studio 원격 코드 실행 취약성
메모리에서 개체를 부적절하게 처리하는 경우 원격 코드 실행 취약성이 Visual Studio에 존재합니다. 이러한 취약성 악용에 성공한 공격자는 현재 사용자의 컨텍스트에서 임의의 코드를 실행할 수 있습니다.
CVE-2020-1045 Microsoft ASP.NET Core 보안 기능 바이패스 취약성
보안 기능 바이패스 취약성은 Microsoft ASP.NET Core에서 인코딩된 쿠키 이름을 구문 분석하는 방식으로 존재합니다. ASP.NET Core 쿠키 파서는 악의적인 공격자가 이름이 퍼센트 인코딩된 두 번째 쿠키를 설정하는 데 사용할 수 있는 전체 쿠키 문자열을 디코딩합니다.
16.4.13의 추가 수정 사항
- 때때로 C++ 빌드를 취소한 후 Visual Studio 또는 MSBuild가 응답을 중지하던 문제를 해결했습니다.
- .NET Core의 지원되지 않는 버전은 Visual Studio 설치 외부에서 제거된 경우 복구 또는 업그레이드 중에 더 이상 다시 설치되지 않습니다.
Visual Studio 2019 버전 16.4.12
‘릴리스 날짜: 2020년 8월 11일’
Visual Studio 2019 버전 16.4.12에서 해결된 주요 문제
보안 권고 알림
CVE-2020-1597
ASP.NET Core가 웹 요청을 잘못 처리할 경우 서비스 거부 취약성이 존재합니다. 이 취약성을 악용하는 공격자는 ASP.NET Core 웹 애플리케이션에 대한 서비스 거부로 이어질 수 있습니다. 이 취약성은 인증을 거치지 않고 원격으로 악용될 수 있습니다.
Visual Studio 2019 버전 16.4.11
‘릴리스 날짜: 2020년 7월 14일’
Visual Studio 2019 버전 16.4.11에서 해결된 주요 문제
- C/C++의 코드 분석이 응답하지 않는 가끔 발생하는 버그를 수정했습니다.
- setjmp 후 잘못된 값이 복원될 수 있는 버그가 해결되었습니다.
- 1.0 및 2.0 .NET Core 런타임이 설치 UI에서 “지원되지 않음”으로 표시되고 모든 시나리오에서 선택 사항이 되었습니다.
보안 권고 알림
CVE-2020-1393 진단 허브 표준 수집기 서비스 권한 상승 취약성
권한 상승 취약성은 Windows 진단 허브 표준 수집기 서비스에서 입력을 제대로 삭제하지 못해 안전하지 않은 라이브러리 로드 동작이 발생하는 경우에 존재합니다.
CVE-2020-1416 Visual Studio 권한 상승 취약성
권한 상승 취약성은 Visual Studio에서 소프트웨어 종속성을 로드할 때 존재합니다.
CVE-2020-1147 .NET Core 서비스 거부 취약성
인증되지 않은 원격 공격자가 ASP.NET Core 애플리케이션이나 특정 형식의 XML을 구문 분석하는 다른 애플리케이션에 대해 특별히 구성된 요청을 실행하여 이 취약성을 악용할 수 있습니다. 보안 업데이트는 XML 페이로드에 있을 수 있는 형식을 제한하여 이 취약성을 해결합니다.
Visual Studio 2019 버전 16.4.10
‘릴리스 날짜: 2020년 6월 9일’
Visual Studio 2019 버전 16.4.10에서 해결된 주요 문제
- setjmp 후 잘못된 값이 복원될 수 있는 버그가 해결되었습니다.
보안 권고 알림
CVE-2020-1108 / CVE-2020-1108.NET Core 서비스 거부 취약성
CVE-2020-1108을 완전히 해결하기 위해 Microsoft는 .NET Core 2.1 및 .NET Core 3.1에 대한 업데이트를 릴리스했습니다. 이 버전의 .NET Core를 사용하는 고객은 최신 버전의 .NET Core를 설치해야 합니다. 최신 버전 번호와 .NET Core 업데이트에 대한 지침은 릴리스 정보를 참조하세요.
CVE-2020-1202 / CVE-2020-1203 진단 허브 표준 수집기 서비스 권한 상승 취약성
진단 허브 표준 수집기 또는 Visual Studio Standard Collector가 메모리에서 개체를 올바르게 처리하지 못하는 경우 권한 상승 취약성이 존재합니다.
CVE-2020-1293 / CVE-2020-1278 / CVE-2020-1257 진단 허브 표준 수집기 서비스 권한 상승 취약성
진단 허브 표준 수집기 서비스가 파일 작업을 잘못 처리하는 경우 권한 상승 취약성이 존재합니다.
Visual Studio 2019 버전 16.4.9
‘릴리스 날짜: 2020년 5월 27일’
Visual Studio 2019 버전 16.4.9에서 해결된 주요 문제
- 최적화에 사용되는 분석에서 캐싱 버그 문제가 해결되고, 불필요한 것으로 잘못 표시한 지침을 제거합니다. 이렇게 함으로써 부실 데이터를 캐시에 저장하는 경우를 탐지합니다. 이 매니페스트의 경우 전체 특징을 파악하기는 어렵지만, 보고서에서는 루프의 인덱스에 대한 모듈로 연산자였습니다. 미래를 위해 (지원되지 않음) /d2ssa-bit-estimator- flag를 추가하여 특정 최적화를 완전히 해제했습니다. 해당 플래그는 이번 수정 사항에 추가되었으며 이전 버전에는 없었습니다.
- 특정 Intel 프로세서에서 Intel JCC(Jump Conditional Code) Erratum 마이크로코드 업데이트로 인해 발생하는 성능 영향을 완화하기 위한 지원이 추가되었습니다.
- 코드 분석 중 람다 지역 변수에 의해 발생하는 cl.exe의 False C6244 경고 및 크래시가 수정되었습니다.
- ICE in PREfast 16.5 running against Office code(Office 코드에 대해 실행되는 PREfast 16.5의 ICE)
Visual Studio 2019 버전 16.4.8
‘릴리스 날짜: 2020년 5월 12일’
Visual Studio 2019 버전 16.4.8에서 해결된 주요 문제
- Enterprise IT 관리자 및 배포 엔지니어가 Microsoft 업데이트 카탈로그 및 WSUS에서 호스트된 VS2019 16.4 업데이트의 가용성을 확인하기 위해 Microsoft 업데이트 클라이언트 및 SCCM과 같은 도구를 구성할 수 있도록 하는 변경을 추가합니다.
보안 권고 알림
CVE-2020-1108 .NET Core 서비스 거부 취약성
인증되지 않은 원격 공격자가 .NET Core 애플리케이션에 특별히 구성된 요청을 발행하여 이 취약성을 악용할 수 있습니다. 보안 업데이트는 .NET Core 웹 애플리케이션이 웹 요청을 처리하는 방법을 수정하여 취약성을 해결합니다.
CVE-2020-1161 .NET Core 서비스 거부 취약성
인증되지 않은 원격 공격자가 ASP.NET Core 애플리케이션에 특별히 구성된 요청을 발행하여 이 취약성을 악용할 수 있습니다. 보안 업데이트는 ASP.NET Core 웹 애플리케이션이 웹 요청을 처리하는 방법을 수정하여 취약성을 해결합니다.
Visual Studio 2019 버전 16.4.7
‘릴리스 날짜: 2020년 4월 14일’
Visual Studio 2019 버전 16.4.7에서 해결된 주요 문제
보안 권고 알림
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.4.6
‘릴리스 날짜: 2020년 3월 10일’
Visual Studio 2019 버전 16.4.6에서 해결된 주요 문제
- 잘못 컴파일하면 부울 조건이 항상 true로 추론됩니다.
- Visual Studio 2019 컴파일러에서 루프 언롤 문제
- Docker 볼륨 폴더에서 빌드할 때 CL(VC v19.24) 크래시
- Docker 컨테이너의 /ZI 매개 변수로 시작하면 CL(VC v19.22) 크래시
- MSVC 컴파일러 19.20을 사용하여 SSE 내장 함수: 컴파일된 코드가 특정한 경우에 잘못된 결과를 생성 합니다.
- C++ AMP 코드는 Visual Studio 2019 16.3.1에서 컴파일되지 않습니다.
- coroutine_handle<>::destroy()는 코루틴을 삭제하는 대신 다시 시작하는 경우도 있습니다.
- C++ 컴파일러의 새로운 Spectre 완화 옵션: 추측 부하 강화를 위한 /Qspectre-load 및 /Qspectre-load-cf .
보안 권고 알림
CVE-2020-0793 및 CVE-2020-0810 진단 허브 표준 수집기 서비스 권한 상승 취약성
권한 상승 취약성은 진단 허브 표준 수집기가 파일 작업을 부적절하게 처리하거나 Windows 진단 허브 표준 수집기 서비스에서 입력을 제대로 삭제하지 못하는 경우에 존재합니다.
CVE-2020-0884 Outlook Web -Add-in을 만들 때 스푸핑 취약성
SSL로 보호되지 않는 회신 URL이 포함되어 있어, 다단계 인증을 사용하는 경우 Outlook 웹 추가 기능을 만들 때 스푸핑 취약성이 있습니다. 이 취약성을 악용한 공격자는 액세스 토큰을 손상시켜 보안 및 개인 정보 위험을 노출시킬 수 있습니다.
CVE-2020-0789 Visual Studio 확장 설치 프로그램 서비스의 서비스 거부 취약성
Visual Studio 2019 버전 16.4.5
‘릴리스 날짜: 2020년 2월 11일’
Visual Studio 2019 버전 16.4.5에서 해결된 주요 문제
- 병합 충돌: "원본 사용"/"대상 유지"가 없습니다.
- uwp 애플리케이션을 디버그하는 중에 크래시 발생
- 데이터베이스 프로젝트로 대상 플랫폼 azure v12를 선택할 수 없음
- 재부팅이 필요한 설치 작업을 수행한 후에 Visual Studio를 실행하면 발생할 수 있는 크래시 또는 오류가 수정되었습니다.
- Xamarin.Android 앱 배포 문제가 수정되었습니다. 이전에는 디바이스 또는 에뮬레이터에서 앱을 수동으로 제거해야 했습니다.
- 컴파일러가 가끔 C++ 코루틴에서 명령을 잘못 제거하는 버그가 수정되었습니다.
Visual Studio 2019 버전 16.4.4
릴리스 날짜: 2020년 1월 30일
Visual Studio 2019 버전 16.4.4에서 해결된 주요 문제
- 사용자 지정 프로젝트 템플릿을 찾을 수 없습니다.
- 네이티브 C++ 코드에서 중단점에 도달할 때 msvsmon.exe가 충돌합니다.
- 솔루션 탐색기에서 폴더를 검색한 다음 홈을 클릭하거나 검색 상자에서 X를 클릭합니다. 뷰가 다시 설정됩니다.
- 외부 도구 인수 현재 줄은 항상 0입니다.
- v3 함수 프로젝트를 만들 수 없습니다.
- VS 2019 업데이트 16.4.3으로 업데이트한 후 0xFFFFFFFFFFFFFFFF 위치를 읽는 동안 액세스 위반이 발생합니다.
- 16.4 아래 버전에서 함수 앱을 만들 수 없습니다.
- MSVC2019는 AVX/AVX2 모드로 AVX-512 명령을 생성합니다.
- rsqrtss(레지스터 변경)를 사용한 잘못된 코드 생성
- FastLink 호출 스택을 볼 때 Visual Studio 2019 디버거가 충돌합니다.
- C#: 특성 생성자가 자체로 데코레이팅되고 Nullable 참조 형식이 사용하도록 설정된 경우 충돌이 해결되었습니다.
- 루프를 언롤할 때 길이가 불확실한 배열(extern int a[]로 선언됨)에 대한 별칭 정보를 추적하지 못하게 하는 최적화 분석 버그를 수정하여 잘못된 데드 스토어(dead store) 제거가 발생할 수 있습니다.
Visual Studio 2019 버전 16.4.3
‘릴리스 날짜: 2020년 1월 14일’
보안 권고 알림
CVE-2020-0602 ASP.NET Core 서비스 거부 취약성
인증되지 않은 원격 공격자가 ASP.NET Core 애플리케이션에 특별히 구성된 요청을 발행하여 이 취약성을 악용할 수 있습니다. 보안 업데이트는 ASP.NET Core 웹 애플리케이션이 웹 요청을 처리하는 방법을 수정하여 취약성을 해결합니다.
CVE-2020-0603 ASP.NET Core 원격 코드 실행 취약성
인증되지 않은 원격 공격자가 ASP.NET Core 애플리케이션에 특별히 구성된 요청을 발행하여 이 취약성을 악용할 수 있습니다. 보안 업데이트는 ASP.NET Core 웹 애플리케이션이 메모리에서 처리되는 방법을 수정하여 취약성을 해결합니다.
CVE-2020-0605 .NET Core 원격 코드 실행 취약성
취약성을 악용하려면 사용자가 영향을 받는 버전의 .NET Core를 사용하여 특별히 구성된 파일을 열어야 합니다. 전자 메일 공격 시나리오에서 공격자는 특별히 구성된 파일을 사용자에게 보내고 사용자가 파일을 열도록 확신시키는 방식으로 취약성을 악용할 수 있습니다. 보안 업데이트는 .NET Core에서 파일의 소스 태그를 확인하는 방법을 수정하여 취약성을 해결합니다.
CVE-2020-0606 .NET Core 원격 코드 실행 취약성
취약성을 악용하려면 사용자가 영향을 받는 버전의 .NET Core를 사용하여 특별히 구성된 파일을 열어야 합니다. 전자 메일 공격 시나리오에서 공격자는 특별히 구성된 파일을 사용자에게 보내고 사용자가 파일을 열도록 확신시키는 방식으로 취약성을 악용할 수 있습니다. 보안 업데이트는 .NET Core에서 파일의 소스 태그를 확인하는 방법을 수정하여 취약성을 해결합니다.
Visual Studio 2019 버전 16.4.3에서 해결된 주요 문제
- DateTime.Now = 값을 제공할 수 없음: 호스트 값을 찾을 수 없음
- MSVC codegen 오류 벡터 reverse_iterator x64 C++17 디버그 빌드
- C2440 VS 16.4 미리 보기 1에서 /permissive-를 사용한 atlenc.h 빌드 오류
- 마지막 Visual Studio 업데이트가 Android에서 NTLM 인증을 위반함(Momo의 새 버전이 이유인 것 같음)
- 템플릿 코드 컴파일 시 Visual Studio 16.3.1이 실패함(예: Basler Pylon SDK에서)
- IntelliSense엣 TypeScript 3.7 사용
- 8.4로 업데이트한 후 XCode 11.3이 갑자기 모두 너무 최신임
- 일부 파일에 대한 서명 정보가 잘못되었거나 누락된 APK 또는 Android 앱 번들을 업로드했습니다. 서명된 유효한 APK 또는 Android 앱 번들을 만들어야 합니다.
- UWP 프로젝트를 실행할 수 없음
- 16.4.1 업데이트 후 JavaScript IntelliSense가 작동하지 않음
- Xib: Xcode가 새로 만들기(사용자 지정 구성 요소를 사용하는 경우 렌더링 문제)
- 스토리보드 오류: 'Xcode가 너무 새로 만들기'
- watchOS 애플리케이션 디버깅을 위한 안정성 향상.
- Xcode 11.3 SDK 지원을 추가합니다.
- fstack-protector-strong 플래그를 사용하는 경우 크래시를 해결했습니다.
- 디버거를 사용하여 일부 일관되지 않은 동작을 해결했습니다.
Visual Studio 2019 버전 16.4.2
릴리스 날짜: 2019년 12월 17일
Visual Studio 2019 버전 16.4.2에서 해결된 주요 문제
- VS2019 미리 보기 4는 C#의 조건부 컴파일 기호를 중단했습니다.
- API는 더 이상 사용되지 않습니다.
- Android 디버깅이 최신 릴리스 16.4에서 작동하지 않음 "디버기 INVALID_ARGUMENT 오류 코드 반환"
- 편집기를 사용하는 동안 발생할 수 있는 잦은 UI 지연 문제를 수정했습니다.
- C#을 사용하는 동안 특성 생성자가 자체적으로 데코레이팅되고 Nullable 참조 형식이 사용되는 경우 발생하는 충돌이 해결되었습니다.
- Visual Studio가 특정 가상 머신 설정에 따라 C# 솔루션 로드를 시작하거나 충돌을 일으키던 문제를 해결했습니다.
- 빌드 속성 페이지를 다시 열 때 사용자가 정의한 조건부 컴파일 기호가 손실되는 버그를 해결했습니다.
Visual Studio 2019 버전 16.4.1
릴리스 날짜: 2019년 12월 10일
Visual Studio 2019 버전 16.4.1에서 해결된 주요 문제
- 데이터베이스를 게시하려고 할 때 발생하는 “쓰기 작업이 실패했습니다. 먼저 dataschemamodelcontroller에서 쓰기 권한을 획득해야 합니다.” 오류 수정
- iOS 디바이스의 일부 구성에서 SignalR을 사용할 때 발생하는 ExecutionEngineException 예외 수정
- 일부 라이브러리에서 인터프리터를 사용하도록 설정한 경우 "CEE_RET: 값 형식 스택" 크래시의 런타임 수정
- 이제 JavaScript 및 TypeScript 편집 환경에 영향을 주는 문제에 대한 몇 가지 수정 사항이 포함된 TypeScript 3.7.3이 기본적으로 포함되어 있습니다.
- Visual Studio에서 모니터 단위 인식 관련 크래시 완화를 허용할 수 있습니다.
보안 권고 알림
CVE-2019-1349 하위 모듈 이름의 너무 느슨한 제한으로 인한 Visual Studio 원격 실행 취약성 관련 Git
Git에서 형제 하위 모듈 디렉터리의 하위 모듈 이름 충돌이 발생할 경우 원격 코드 실행 취약성이 존재합니다. 이 취약성을 성공적으로 악용한 공격자는 대상 머신에서 코드를 원격으로 실행할 수 있습니다. 보안 업데이트는 하위 모듈 클론의 디렉터리를 비워 두도록 요구하는 새 버전의 Windows용 Git을 사용하여 취약성을 해결합니다.
CVE-2019-1350 명령줄 인수의 잘못된 따옴표 넣기로 인한 Visual Studio 원격 실행 취약성 관련 Git
Git에서 SSH URL과 함께 재귀 클론을 사용하는 동안 특정 따옴표가 있는 명령줄 인수를 해석할 때 원격 코드 실행 취약성이 존재합니다. 이 취약성을 성공적으로 악용한 공격자는 대상 머신에서 코드를 원격으로 실행할 수 있습니다. 보안 업데이트는 이 문제를 해결하는 새 버전의 Windows용 Git을 사용하여 취약성을 해결합니다.
CVE-2019-1351 복제 중 문자 아닌 드라이브 이름 사용으로 인한 Visual Studio 임의 파일 덮어쓰기 취약성 관련 Git
문자가 아닌 드라이브 이름이 git clone
의 안전 검사를 무시하는 경우 Git에 임의 파일 덮어쓰기 취약성이 존재합니다. 이 취약성을 성공적으로 악용한 공격자는 대상 머신의 임의 파일에 쓸 수 있습니다. 보안 업데이트는 이 문제를 해결하는 새 버전의 Windows용 Git을 사용하여 취약성을 해결합니다.
CVE-2019-1352 NTFS 대체 데이터 스트림 인식 불가로 인한 Visual Studio 원격 실행 취약성 관련 Git
NTFS 대체 데이터 스트림을 통해 .git/ 디렉터리를 복제하고 이 디렉터리에 쓸 때 Git에 원격 코드 실행 취약성이 존재합니다. 이 취약성을 성공적으로 악용한 공격자는 대상 머신에서 코드를 원격으로 실행할 수 있습니다. 보안 업데이트는 NTFS 대체 데이터 스트림을 인식하도록 지정된 새 버전의 Windows용 Git을 사용하여 취약성을 해결합니다.
CVE-2019-1354 백슬래시가 포함된 추적 파일 작성 허용으로 인한 Visual Studio 임의 파일 덮어쓰기 취약성 관련 Git
백슬래시와 악의적인 symlink가 있는 트리 항목이 작업 트리를 벗어날 수 있는 경우 Git에 임의 파일 덮어쓰기 취약성이 존재합니다. 이 취약성을 성공적으로 악용한 공격자는 대상 머신의 임의 파일에 쓸 수 있습니다. 보안 업데이트는 이러한 백슬래시 사용을 허용하지 않는 새 버전의 Windows용 Git을 사용하여 취약성을 해결합니다.
CVE-2019-1387 재귀 클론에서 하위 모듈 이름의 너무 느슨한 유효성 검사로 인한 Visual Studio 원격 실행 취약성 관련 Git
하위 모듈을 재귀적으로 복제할 때 Git에 원격 코드 실행 취약성이 있습니다. 이 취약성을 성공적으로 악용한 공격자는 대상 머신에서 코드를 원격으로 실행할 수 있습니다. 보안 업데이트는 하위 모듈 이름의 유효성 검사를 엄격히 수행하는 새 버전의 Windows용 Git을 사용하여 취약성을 해결합니다.
CVE-2019-1486 Live Share 확장 URL 리디렉션 취약점
Live Share 세션에 연결된 게스트가 세션 호스트에서 지정한 임의 URL로 리디렉션될 때 Visual Studio Live Share 확장에서 스푸핑 취약성이 검색되었습니다. 공격자는 이 취약성을 성공적으로 악용하여 명시적인 동의 없이 게스트 컴퓨터에서 브라우저를 열고 악성 URL로 이동할 수 있습니다. 이것은 활성 Live Share 세션 중에 자동 포트 전달을 허용하는 Live Share의 "공유 서버" 기능에 속합니다. 최신 업데이트는 호스트에서 지정한 URL을 찾기 전에 Live Share 게스트에 동의를 요청하여 이 취약성을 해결합니다.
Visual Studio 2019 버전 16.4
릴리스 날짜: 2019년 12월 3일
Visual Studio 2019 버전 16.4의 새로운 기능 요약
- 이제 Visual Studio는 "FIPS 호환성 모드"를 지원합니다.
- XAML 디자이너 확대/축소/위치가 이제 기본적으로 [모두 맞춤]으로 설정됩니다.
- [데이터 바인딩 만들기] 대화 상자가 추가되었습니다.
- 지역 IntelliSense의 개선 사항
- XAML IntelliSense의 코드 조각
- 디자이너에서 별도의 창으로 XAML 편집기 팝업
- 참조된 어셈블리에 대한 리소스 표시
- 라이브 시각적 트리의 내 XAML만
- 리소스 사전 병합
- XAML Islands 지원
- [템플릿 편집]이 이제 타사 컨트롤의 컨트롤과 함께 작동합니다.
- Clang 및 MSVC 모두에 대해 C++ MSBuild 및 CMake 프로젝트에서 clang-tidy 지원.
- Windows에서 MSVC로 컴파일한 프로젝트에 대한 AddressSanitizer 지원이 추가되었습니다.
- 로컬 Git 리포지토리를 GitHub에 게시하는 지원이 추가되었습니다.
- 세로 문서 탭을 사용하여 문서 탭을 세로 레이아웃으로 변경할 수 있습니다.
- 이 릴리스에 추가된 .NET 생산성 기능에는 오류 목록에서 곧바로 코드 스타일 규칙의 심각도 수준을 구성하는 기능, [모든 참조 찾기]를 형식 및 멤버를 기준으로 그룹화하는 기능, 로컬 함수를 static으로 만들어서 함수 외부에서 정의된 변수를 함수의 선언 및 호출로 전달하는 리팩터링이 포함됩니다.
- 새 고정 가능한 속성 기능을 사용하여 디버거 창에 개체가 표시되는 방법을 신속하게 사용자 지정합니다.
- 컨테이너 도구 창은 Docker 컨테이너 및 이미지를 조사, 중지, 시작 및 제거할 수 있는 기능을 추가합니다.
- 도구 창을 자동으로 숨겨서 시작 성능을 개선하는 옵션이 추가되었습니다.
- 게시 종속성을 관리하거나 연결된 서비스를 사용할 때 SQL Server 및 Azure Storage 연결 문자열 자동 검색
- 64 비트 런타임을 사용하여 Azure Functions 개발에 대한 지원 추가
- .NET Core 3.0 앱 게시 옵션에 대한 지원 추가: 실행 준비(크로스젠), 연결 및 SingleExe
- 이 릴리스에서 추가로 제공되는 .NET 생산성에는 편집기를 통해 코드 스타일 규칙의 심각도 수준을 직접 구성하고, 새 기본으로 이동 명령을 사용하여 상속 체인을 쉽게 탐색하고, 모든 매개 변수에 대해 null 검사를 추가하는 기능 및 메서드 재정의를 위한 XML 설명서를 포함합니다.
- Xamarin.Forms용 XAML 핫 다시 로드
- Android 앱 번들 게시
- AndroidX 마이그레이션 마법사
- Android 레이아웃 Lint
Visual Studio 2019 버전 16.4의 새로운 기능에 대한 자세한 정보
이제 Visual Studio는 "FIPS 호환성 모드"를 지원합니다.
버전 16.4부터 Visual Studio 2019에서는 Windows, Azure 및 .NET용 앱 및 솔루션을 개발할 때 "FIPS 140-2 준수 모드"를 지원합니다. Linux, iOS 또는 Android와 같은 타사 플랫폼용 앱 또는 솔루션을 개발하는 경우 이러한 플랫폼에서 FIPS 140-2 승인 알고리즘을 사용하지 못할 수 있습니다. Visual Studio 및 사용자가 설치하는 확장에 포함된 타사 소프트웨어에서도 FIPS 140-2 승인 알고리즘을 사용하지 못할 수 있습니다. 또한 SharePoint 솔루션 개발에서는 FIPS 140-2 호환 모드를 지원하지 않습니다.
Visual Studio용 FIPS 140-2 준수 모드를 구성하려면 .NET Framework 4.8을 설치하고 Windows 그룹 정책 설정인 "시스템 암호화: 암호화, 해시 및 서명에 FIPS 규격 알고리즘 사용"을 사용하도록 설정합니다.
WPF/UWP 도구
WPF/UWP 애플리케이션을 빌드하는 고객은 Visual Studio XAML 도구에서 다음과 같은 향상된 기능을 확인할 수 있습니다.
Designer
- 이제 XAML 디자이너 확대/위치가 모두 맞춤으로 설정됩니다. 고객 피드백에 따라 XAML 창/페이지/컨트롤/등을 열 때 발생하는 기본 XAML 디자이너 확대/축소 동작을 다시 평가했습니다. 이전 경험에서는 Visual Studio 세션에서 각 파일의 확대/축소 수준 및 위치를 저장하여 일정 시간이 지난 후 고객이 파일로 돌아올 때 혼동을 일으켰습니다. 이 릴리스부터는 활성 세션 기간 동안만 확대/축소 수준 및 위치를 저장하고 Visual Studio를 다시 시작하면 기본값인 "모두 맞춤"으로 되돌립니다.
- 데이터 바인딩 만들기 대화 상자: Visual Studio에는 XAML 디자이너 및 속성 탐색기를 마우스 오른쪽 단추로 클릭하면 WPF .NET Framework 개발자가 사용할 수 있는 데이터 바인딩 대화 상자가 있으며, 이전에 UWP 개발자도 이 대화 상자를 사용할 수 있었습니다. 이번 릴리스에서는 이 환경을 UWP 개발자에게 다시 제공하고 WPF .NET Core 애플리케이션에 대한 지원을 추가합니다. 이 기능은 아직 개발 중이며 이후 계속 개선하여 .NET Framework 대화 상자 기능과 동일한 기능을 다시 제공할 예정입니다.
XAML 편집기
- #regions IntelliSense 개선 사항: Visual Studio 2015부터 #region 지원은 WPF 및 UWP XAML 개발자가 사용할 수 있으며 최근에는 Xamarin.Forms에서 사용할 수 있습니다. 이 릴리스에서는 IntelliSense 버그를 수정했습니다. 이 수정으로 <!를 입력하기 시작하면 이제 #regions가 제대로 표시됩니다.
- XAML IntelliSense의 코드 조각: IntelliSense는 XAML 코드 조각을 표시할 수 있도록 향상되었습니다. 이 코드 조각은 기본 제공 코드 조각과 수동으로 추가하는 사용자 지정 코드 조각 모두에 대해 작동합니다. 이 릴리스부터는 #region, 열 정의, 행 정의, Setter, 태그 등 일부 기본 제공 XAML 코드 조각도 포함합니다.
- 디자이너와 별도의 창으로 XAML 편집기 팝업: 이제 XAML 탭 옆에 있는 새 XAML 팝업 단추를 사용하여 XAML 디자이너와 기본 XAML 편집기를 별도의 창으로 쉽게 분할할 수 있습니다. XAML 디자이너를 클릭하면 연결된 XAML 탭이 최소화되고 XAML 편집기 보기에 대한 새 창이 열립니다. 이 새 창을 Visual Studio에서는 원하는 표시 또는 탭 그룹으로 이동할 수 있습니다. 여전히 원래 XAML 뷰를 확장할 수 있지만 이와 상관없이 같은 파일의 모든 XAML 뷰가 실시간으로 동기화된 상태로 유지됩니다.
- 참조된 어셈블리에 대한 리소스 표시: WPF Framework 및 WPF .NET Core 프로젝트에 대한 참조된 어셈블리(소스를 사용할 수 없는 경우)에서 XAML 리소스를 표시할 수 있도록 XAML IntelliSense가 업데이트되었습니다.
XAML 디버깅 도구
- 라이브 시각적 트리의 내 XAML만: 라이브 시각적 트리는 디버그 모드에서 애플리케이션을 실행할 때 UWP 및 WPF 개발자가 모두 사용할 수 있는 기능이며 XAML 핫 다시 로드 관련된 라이브 편집 도구의 일부입니다. 이전에 이 기능에서는 연결된 실행 중인 애플리케이션의 전체 라이브 시각적 트리를 표시했고, 앱에서 작성한 XAML만 볼 수 있는 필터가 없었습니다. 이 때문에 불필요한 항목이 많은 환경이어서 고객 의견을 바탕으로 사용자가 애플리케이션에서 작성한 컨트롤로만 트리를 제한하는 "내 XAML만"이라는 새 기본값을 추가했습니다. 이것이 새 기본값이지만 여전히 tine 라이브 시각적 트리 자체의 단추를 사용하거나 새 설정(위치: 옵션 > 디버깅 > 일반 > 내 XAML만 사용 아래)을 통해 이전 동작으로 되돌릴 수 있습니다.
리소스 및 템플릿
- 리소스 사전 병합: 이제 솔루션 탐색기를 통해 사용할 수 있는 새 기능을 사용하여 UWP/WPF 프로젝트 내의 기존 리소스 사전을 유효한 XAML 파일과 쉽게 병합할 수 있습니다. Merge 문을 추가하려는 XAML 파일을 연 다음 병합하려는 파일을 찾아 솔루션 탐색기에서 해당 파일을 마우스 오른쪽 단추로 클릭하면 됩니다. 상황에 맞는 메뉴에서 “Merge Resource Dictionary Into Active Window(활성 창에 리소스 사전 병합)” 옵션을 선택하면 경로가 포함된 오른쪽 병합 XAML이 추가됩니다.
- 템플릿 편집은 이제 타사 컨트롤의 컨트롤에서 작동합니다. 이제 솔루션에 소스 코드가 아닌 경우에도 컨트롤 템플릿의 복사본을 만들 수 있습니다. 이 변경으로 "템플릿 편집" 기능이 이제 제공되며 현재 소스를 사용할 수 있는 자사 요소에서처럼 작동합니다. 이 기능은 소스를 사용할 수 없는 타사 컨트롤 라이브러리 및 자사 컨트롤 라이브러리 모두에 적용됩니다.
XAML Islands:
- 향상된 XAML Island 지원: 이러한 애플리케이션에 UWP XAML 컨트롤을 더 쉽게 추가할 수 있도록 Windows Forms 및 WPF .NET Core 3 앱에 대한 XAML Islands 시나리오에 대한 지원을 추가했습니다. 이러한 향상된 기능을 통해 .NET Core 3 프로젝트는 사용자 지정 UWP XAML 컨트롤을 포함하는 UWP 프로젝트를 참조할 수 있습니다. 이러한 사용자 지정 컨트롤은 Windows Community Toolkit v6(Microsoft.Toolkit.Wpf.UI.XamlHost v6.0) 내에 제공되는 WindowsXamlHost 컨트롤에서 사용할 수 있습니다. Windows 애플리케이션 패키징 프로젝트를 사용하여 Islands로 .NET Core 3용 MSIX을 생성할 수도 있습니다. 시작하는 방법을 알아보려면 설명서를 참조하세요.
C++
- Clang 또는 MSVC 도구 집합 사용 여부와 관계없이 이제 코드 분석에서 MSBuild 및 CMake 프로젝트 모두에 대해 Clang-Tidy를 기본적으로 지원합니다. Clang-tidy 검사는 백그라운드 코드 분석의 일부로 실행될 수 있으며, 편집기에서 경고(물결선)로 표시되 고 오류 목록에 나타납니다.
- Visual Studio CMake 프로젝트에 플랫폼 간 개발을 시작하는 데 도움이 되는 개요 페이지가 적용되었습니다. 개요 페이지는 동적으로 바뀌며, Linux 시스템에 연결하고 CMake 프로젝트에 Linux 또는 WSL 구성을 추가할 수 있도록 지원합니다.
- CMake 프로젝트의 시작 드롭다운 메뉴에 가장 최근에 사용한 대상이 표시되며 필터링도 가능합니다.
- C++/CLI가 Windows에서 .NET Core 3.1 이상과의 상호 운용성을 지원합니다.
- 메모리 오류를 탐지하는 데 도움이 되는 C++ 코드의 런타임 계측을 위해 Windows에서 MSVC로 컴파일한 프로젝트에 대해 ASan을 사용 설정할 수 있습니다.
- MSVC의 C++ 표준 라이브러리 업데이트:
- 이제 C++ Build Insights라는 새 도구 모음을 사용할 수 있습니다. 자세한 내용은 C++ 팀 블로그를 참조하세요.
GitHub에 게시 지원
- Visual Studio용 GitHub 확장의 일부였던 GitHub에 게시 기능이 Visual Studio GitHub 필수 패키지에 포함되었습니다.
- 이제 팀 탐색기 동기화 페이지의 [GitHub에 게시] 단추를 사용하여 로컬 Git 리포지토리를 GitHub에 게시할 수 있습니다.
Visual Studio의 세로 문서 탭
편집기 왼쪽 또는 오른쪽에 표시되는 세로 목록에서 문서 탭을 관리할 수 있습니다.
고정 가능한 속성 디버깅 도구
이제 고정 가능한 속성 기능을 사용하여 DataTips 또는 조사식, 자동 및 지역 창의 맨 위에 속성을 고정하여 디버그 시 개체를 신속하게 식별하고 검사할 수 있습니다.
컨테이너 도구 창
- 컨테이너를 나열, 조사, 중지, 시작 및 제거할 수 있습니다.
- 컨테이너를 실행하기 위한 로그 및 파일 콘텐츠를 볼 수 있을 뿐만 아니라 컨테이너로 터미널 창을 열 수 있습니다.
- 이미지를 보고, 검사하고, 제거할 수 있습니다.
자동 숨기기 도구 창
이 미리 보기 기능 옵션을 사용 설정하면 여러 개의 도구 창을 연 상태로 Visual Studio를 시작함에 따라 발생하는 시작 지연을 건너뛸 수 있습니다.
.NET 생산성
- 이제 오류 목록을 통해 코드 스타일 규칙의 심각도 수준을 직접 구성할 수 있습니다. 오류, 경고 또는 제안 위에 커서를 올리고 마우스 오른쪽 단추를 클릭한 다음 심각도 설정을 선택합니다. 그런 다음 이 규칙에 설정할 심각도 수준을 선택합니다. 그러면 기존 EditorConfig가 규칙의 새 심각도로 업데이트됩니다. 이것은 타사 분석기에서도 작동합니다.
- [모든 참조 찾기]를 형식 및 멤버를 기준으로 그룹화할 수 있습니다.
- 이제 로컬 함수를 static으로 만들어서 함수 밖에서 정의된 변수를 함수 선언과 호출로 전달할 수 있습니다. 로컬 함수 이름 위에 커서를 올리고 (Ctrl+.)을 눌러 빠른 작업 및 리팩터링 메뉴를 트리거합니다. Make local function
static
(로컬 함수를 static으로 만들기)을 선택합니다.
- 변수를 로컬 static 함수에 명시적으로 전달할 수 있습니다. static 로컬 함수의 변수 위에 커서를 올리고 (Ctrl+.)을 눌러 빠른 작업 및 리팩터링 메뉴를 트리거합니다. Pass variable explicitly in local static function(변수를 로컬 static 함수로 명시적으로 전달)을 선택합니다.
.NET 생산성
- 이제 편집기를 통해 코드 스타일 규칙의 심각도 수준을 직접 구성할 수 있습니다. 현재 .editorconfig 파일이 없으면 해당 파일 하나가 생성됩니다. 오류, 경고 또는 제안에 커서를 놓고 (Ctrl+.)를 입력하여 빠른 작업 및 리팩터링 메뉴를 엽니다. ‘문제 구성 또는 표시 안 함’을 선택합니다. 그런 다음 규칙을 선택하고 해당 규칙에 대해 구성할 심각도 수준을 선택합니다. 그러면 기존 EditorConfig가 규칙의 새 심각도로 업데이트됩니다. 이것은 타사 분석기에서도 작동합니다.
- 이제 기본으로 이동 명령을 사용하여 상속 체인을 탐색할 수 있습니다. 기본으로 이동 명령은 상속 계층 구조를 탐색하려는 요소의 상황에 맞는 메뉴(마우스 오른쪽 단추 클릭)에서 사용할 수 있습니다. 또는 (Alt+Home)을 입력할 수 있습니다. 결과가 둘 이상이면 모든 결과가 포함된 도구 창이 열리므로 여기에서 탐색할 수 있습니다.
- 이제 모든 매개 변수에 대한 null 검사를 추가할 수 있습니다. 이 검사는 확인되지 않은 모든 nullable 매개 변수의 nullity를 확인하는 if 문을 추가합니다. 메서드 내의 매개 변수에 커서를 놓습니다. (Ctrl+.)을 눌러 빠른 작업 및 리팩터링 메뉴를 트리거합니다. ‘모든 매개 변수에 대한 null 검사 추가’ 옵션을 선택합니다.
- 이제 XML 문서가 없는 메서드는 재정의하는 메서드로부터 XML 문서를 자동으로 상속할 수 있습니다. 문서화된 인터페이스 메서드를 구현하는 문서화되지 않은 메서드에 커서를 놓습니다. 그러면 인터페이스 메서드의 XML 설명서가 요약 정보에 표시됩니다.
<inheritdoc>
태그를 사용하여 기본 클래스 및 인터페이스에서 xml 주석을 상속할 수도 있습니다. Docs 예.
Xamarin
Xamarin.Forms용 XAML 핫 다시 로드
Xamarin.Forms용 XAML 핫 다시 로드는 개발 속도를 향상하고 사용자 인터페이스를 더 쉽게 빌드하고 실험하고 반복할 수 있도록 합니다. UI를 조정할 때마다 앱을 다시 빌드할 필요가 없습니다. 실행 중인 앱에 변경 내용이 즉시 표시됩니다.
Android 앱 번들 게시
이제 Visual Studio에서 Android 애플리케이션을 게시할 때 Android 앱 번들을 만들 수 있습니다. 앱 번들은 Google Play 스토어 또는 다양한 Android 앱 스토어에서 앱을 다운로드할 때 디바이스 사양에 따라 최적화된 APK를 사용자에게 제공합니다.
AndroidX 마이그레이션 마법사
이제 AndroidX 마이그레이션 마법사를 사용하여 Android 지원 라이브러리에서 기존 Android 애플리케이션을 AndroidX로 변환할 수 있습니다.
Android 레이아웃 Lint
이제 Android Designer 내에서 레이아웃을 편집할 때 일반적인 문제 세트가 제공됩니다.
Visual Studio 2019 버전 16.4에서 해결된 주요 문제
- Visual Studio 2019 16.3.0에 잘못된 코드 생성
- 주소 XXX 및 사용자를 사용하여 Mac-Server에 연결할 수 없습니다... 빌드 프로세서는 연결 없이는 계속할 수 없습니다.
- MSVC 14.23.28019 컴파일 버그
- System.MethodAccessException: 메서드별 시도
- 정의로 이동을 수행하면 CRTP 시나리오에서 잘못된 정의로 이동합니다.
- VS2019 ComboBox的闪退问题-VS2019 콤보 상자 종료 문제
- Visual Studio 피드백 로그인이 "파일 잠금을 획득하지 못했습니다... AadConfiguration.lock"
- cmake 프로젝트 파일을 로드할 수 없습니다.
- ftp 게시로 일부 폴더가 업로드되지 않습니다.
- VS 시스템 로그의 필수 컬렉션
- Visual Studio 2019를 명령줄에서 시작하여 CMake 프로젝트를 로드하는 작업이 작동하지 않습니다.
- 존재하지 않는 스크린샷을 자르는 동안 VS 피드백 도구 충돌
- 피드백 검색 및 제출이 프록시 뒤에서 작동하지 않습니다.
- 기호 찾기 결과 정의로 이동하면 올바른 기호가 표시되지 않습니다.
- 참조 수를 클릭하면 Visual Studio 2019가 항상 충돌합니다.
- 선택한 코드 생성기 "시퀀스에 일치하는 요소가 없습니다"를 실행하는 동안 오류가 발생했습니다.
- 클래스 다이어그램 그리기
- SSDT에 대한 민감도 분류 명세서 지원 추가
- 피드백 도구는 검정색 고대비 테마를 적용하지 않습니다.
- 테스트 탐색기 창이 열리지 않습니다.
- 리포지토리 업데이트 후 단위 테스트 상태 유지
- Mono 6.4에 도입된 명시적 인터페이스 버그
- “Linux 개발용 프로젝트를 설정”할 때 디버그/Arm의 디자인-빌드 오류가 발생합니다.
- VSTO 추가 기능에서 VS가 새 WPF 클래스를 만들도록 허용하지 않습니다.
- 마지막 Visual Studio 업데이트가 Android에서 NTLM 인증을 위반함(Momo의 새 버전이 이유인 것 같음)
- 소스 파일을 변경하지 않았는데 "편집 내용을 컴파일할 수 없습니다.."
- 빌드를 시작할 때 출력 창 표시가 제대로 작동하지 않음
- 프로젝트 파일에서 runsettings를 설정하는 기능
- “NullReferenceException 형식의 예외” 후 C++ 형광펜이 부분적으로 작동 중지됨
- 세미콜론을 누르면 실제로 세미콜론이 입력되지 않고 대신 intellisense가 닫힙니다.
- ANSI .rc 파일이 UTF8로 자동 변환됨!!! (원하지 않음!!!)
- "디버깅이 중지되면 자동으로 콘솔 닫기" 옵션을 사용하도록 설정하면 Azure Functions 프로젝트가 중단점에 적중되지 않음
- Razor Pages 프로젝트에서 영역을 추가하면 “이 항목을 지원하는 스캐폴더가 없습니다.”가 throw됨
- vs2017rc 편집하며 계속하기가 작동하지 않음
- 비 WPF 자동으로 숨겨진 도구 창에서 때때로 초기화 오류가 throw될 수 있음
- 디버거에서 Null 참조 예외가 throw됨
- 미리 컴파일된 헤더를 사용하는 프로젝트에서 clang-tidy를 사용하는 동안 문제 발생
- iOS 보관 파일을 만들 수 없음 - XMA 서버에서 프로세스를 실행할 수 없음(경로 또는 파일 이름이 너무 김)
- git blame을 사용할 때 Visual Studio가 중지됩니다.
- 테스트 메뉴에 “Analyse Code Coverage”(코드 검사 분석)가 없습니다.
- VS2019의 C++ Intellisense가 VS2017의 Intellisense는 보고하지 않는 올바르지 않은 오류를 보고합니다.
- 비교 연산자를 사용하여 명시적 연산자 bool을 암시적으로 호출할 수 있습니다.
- CodeLens가 작동하지 않습니다.
- ICE가 취약합니다.
- MFC 매크로 ON_COMMAND_RANGE()에서 DEBUG 빌드로 constexpr 템플릿 함수를 사용할 때 치명적인 오류 C1001이 발생합니다.
- 솔루션 탐색기가 닫혀 있을 때 활성 문서와 동기화를 수행하면 모든 파일이 선택됩니다.
- 구조적 바인딩의 alignas(C++17)가 작동하지 않습니다.
- VS2019 C++가 SFINAE를 특수화하지 못합니다(회귀).
- C++ CLI Intellisense가 속성에 'set' 접근자가 없다는 잘못된 경고를 표시합니다.
- Xamarin fastlane: "개발자 정보를 동기화하는 동안 오류가 발생했습니다. 'iTunes Connect에 대한 요청 제한에 도달했습니다.'"
- IntelliSense 도구 설명 잘림
- IntelliSense 멤버 목록 제안에 C++ 제어 키워드가 표시되지 않음
- XAML UI 디버깅 도구 - “선택 사용” 단추가 올바르게 작동하지 않음
- 여러 매개 변수를 사용하여 함수를 호출할 때 함수 매개 변수 목록이 팝업에 완전히 표시되지 않습니다.
- 앰퍼샌드 연산자의 잘못된 코드 서식 v2
- nodiscard 지원이 잘못 감지됨(이유 포함)
- IntelliSense에 CMake 프로젝트의 WSL 구성에 대한 vcpkg include 디렉터리가 표시되지 않음
- 오류 LNK2005: “__cdecl Windows::Foundation::operator co_await(struct Windows::Foundation::IAsyncAction ^)” (?? __LFoundation@Windows@@YA@PE$AAUIAsyncAction@01@@Z)가 pch.obj에 이미 정의되어 있음
- VS2019 #pragme 메시지 显示异常-VS2019 #pragme 메시지에 예외가 표시됨
- 식별자 태그
- LiveShare 세션을 조인할 때 VCManagedPackage 패키지가 올바르게 로드되지 않음
- VS2019 16.2.1 #pragme 메시지에 예외가 표시됨
- 다시 로드할 때 VS2019 Win10 1703 Modeling SDK DiagramClientView가 비어 있음
- C++/CLR + .Net Core가 Visual Studio와 충돌함
- C++: 구조체 복사 작업에 대해 잘못된 코드가 생성됨
- 진단 도구 리소스 제한 사용 안 함이 영구적이지 않음
- 테스트 탐색기/CMake가 테스트 실행 전에 테스트를 검색함
- IntelliSense에서 VS2019 미리 보기 xaml 코드 조각 행 및 열이 잘못 작동함
- VS2019 16.3이 Windows 7 64비트에서 AVX512(없는 경우)를 잘못 검색하는 것 같음
알려진 문제
아래 링크를 따라 Visual Studio 2019 버전 16.4의 문제 및 사용 가능한 해결 방법을 모두 확인하세요.
피드백 및 제안
많은 의견 부탁드립니다! 문제가 있으면 설치 관리자나 Visual Studio IDE 자체의 오른쪽 위에서 문제 보고 옵션을 통해 알려주세요. 아이콘은 오른쪽 위 모서리에 있습니다. Visual Studio 개발자 커뮤니티에서 제품에 대해 제안하거나 문제를 추적하고, 질문하고 대답을 찾고 새로운 기능을 제안할 수 있습니다. 라이브 채팅 지원을 통해 무료 설치 도움말을 가져올 수도 있습니다.
Blogs
개발자 도구 블로그 사이트에서 사용 가능한 인사이트 및 권장 사항을 활용하여 모든 새 릴리스에 대한 최신 정보와 다양한 기능에 대한 심층적인 게시물을 확인하세요.
Visual Studio 2019 릴리스 정보 기록
이전 버전의 Visual Studio 2019와 관련된 자세한 내용은 Visual Studio 2019 릴리스 정보 기록 페이지를 참조하세요.