2019LogoVisual Studio 2019 버전 16.6 릴리스 정보



개발자 커뮤니티 | 시스템 요구 사항 | 호환성 | 배포 가능 코드 | 릴리스 기록 | 사용 조건 | 블로그 Visual Studio Docs | 의 새로운 기능


참고 항목

이것은 최신 버전의 Visual Studio가 아닙니다. 최신 릴리스를 다운로드하려면 Visual Studio 사이트를 방문하세요.



Visual Studio 2019 버전 16.6의 새로운 기능

지원 기간

이 버전은 이제 지원되지 않습니다. Visual Studio 지원에 대한 자세한 내용은 Visual Studio 2019에 대한 지원 정책을 검토하세요.

최신 버전의 릴리스 정보를 참조하거나 Visual Studio 사이트를 방문하여 지원되는 최신 버전의 Visual Studio 2019를 다운로드합니다.

Visual Studio 2019 버전 16.6 릴리스

Visual Studio 2019 보관된 릴리스 정보

Visual Studio 2019 블로그

Visual Studio 2019 블로그는 Visual Studio 엔지니어링 팀에서 제공하는 제품 인사이트에 대한 공식적인 정보원입니다. 다음 게시물에서 Visual Studio 2019 릴리스에 대한 자세한 정보를 찾을 수 있습니다.

릴리스 정보 토론에 참여하기


Release Notes Icon Visual Studio 2019 버전 16.6.4

‘릴리스 날짜: 2020년 7월 14일’

16.6.4에 대한 보안 공지 알림

CVE-2020-1393 진단 허브 표준 수집기 서비스 권한 상승 취약성

권한 상승 취약성은 Windows 진단 허브 표준 수집기 서비스에서 입력을 제대로 삭제하지 못해 안전하지 않은 라이브러리 로드 동작이 발생하는 경우에 존재합니다.

CVE-2020-1416 Visual Studio 권한 상승 취약성

권한 상승 취약성은 Visual Studio에서 소프트웨어 종속성을 로드할 때 존재합니다.

CVE-CVE-2020-1147 .NET Core 서비스 거부 취약성

인증되지 않은 원격 공격자가 ASP.NET Core 애플리케이션이나 특정 형식의 XML을 구문 분석하는 다른 애플리케이션에 대해 특별히 구성된 요청을 실행하여 이 취약성을 악용할 수 있습니다. 보안 업데이트는 XML 페이로드에 있을 수 있는 형식을 제한하여 이 취약성을 해결합니다.

Visual Studio 2019 버전 16.6.4에서 해결된 주요 문제


Release Notes Icon Visual Studio 2019 버전 16.6.3

‘릴리스 날짜: 2020년 6월 30일’

Visual Studio 2019 버전 16.6.3에서 해결된 주요 문제


Release Notes Icon Visual Studio 2019 버전 16.6.2

‘릴리스 날짜: 2020년 6월 9일’

16.6.2에 대한 보안 공지 알림

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.6.2에서 해결된 주요 문제


Release Notes IconVisual Studio 2019 버전 16.6.1

‘릴리스 날짜: 2020년 6월 1일’

Visual Studio 2019 버전 16.6.1에서 해결된 주요 문제


Release Notes Icon Visual Studio 2019 버전 16.6.0

릴리스 날짜: 2020년 5월 19일

16.6.0에 대한 보안 공지 알림

CVE-2020-1108 .NET Core 서비스 거부 취약성

인증되지 않은 원격 공격자가 .NET Core 애플리케이션에 특별히 구성된 요청을 발행하여 이 취약성을 악용할 수 있습니다. 보안 업데이트는 .NET Core 웹 애플리케이션이 웹 요청을 처리하는 방법을 수정하여 취약성을 해결합니다.

CVE-2020-1161 .NET Core 서비스 거부 취약성

인증되지 않은 원격 공격자가 ASP.NET Core 애플리케이션에 특별히 구성된 요청을 발행하여 이 취약성을 악용할 수 있습니다. 보안 업데이트는 ASP.NET Core 웹 애플리케이션이 웹 요청을 처리하는 방법을 수정하여 취약성을 해결합니다.

Visual Studio 2019 버전 16.6.0 릴리스


C++

향상된 Doxygen/XML 주석 생성: 함수 위에 "///" 또는 "/**"를 입력하여 Doxygen 또는 XML 문서 주석 스텁을 자동으로 생성합니다. 이제 이 기능이 요약 정보 도구 설명에도 표시됩니다.

Generate and consume Doxygen-style comments
Doxygen 스타일 주석 생성 및 사용

Ninja에서 Linux/WSL용 CMake 지원: WSL 또는 원격 시스템에서 CMake 프로젝트를 빌드할 때 기본 생성기로 Ninja를 사용합니다. 이제 새 Linux 또는 WSL 구성을 추가할 때 Ninja가 기본 생성기입니다.

원격 CMake 디버깅을 위한 디버그 템플릿: Gdb를 사용하여 원격 Linux 시스템 또는 WSL에서 CMake 프로젝트를 디버그하기 위해 템플릿을 간소화했습니다.

C++20 개념에 대한 초기 지원: 이제 IntelliSense가 C++20 개념을 인식하고 멤버 목록에서 이 개념을 제안합니다.

디버깅

다시 시작하지 않고 스냅샷 디버거 연결 사용: 이제 스냅샷 디버거를 다시 시작하지 않고도 Azure 앱 Services(ASP.NET Core 3.1)에 설치할 수 있으므로 서비스를 중단하지 않고 라이브 문제를 디버그하고 진단할 수 있습니다. 스냅샷 디버거에 처음 연결하면 Azure App Service 배포에 스냅샷 디버거 사이트 확장을 설치하라는 메시지가 표시되고 설치 후 다시 시작해야 합니다.

디컴필레이션에 대한 사용자 환경 개선 사항: 디컴필레이션 프로세스는 기존 PDB를 사용하여 지역 변수에 대한 더 나은 이름을 생성합니다.

Git 생산성

  • 하나의 솔루션만 포함된 리포지토리를 복제하면 복제가 완료된 후 해당 솔루션이 자동으로 로드됩니다.

JavaScript/TypeScript

  • TSServer 진행률 표시줄: 언어 서비스가 TypeScript 프로젝트를 열면 사용자는 백그라운드 작업 위젯에서 구성된 프로젝트의 진행률을 볼 수 있습니다.

  • 새로운 다중 대상 JavaScript/TypeScript 디버깅 및 서비스 작업자 지원: 이제 JavaScript/TypeScript 디버거는 서비스 작업자, 웹 작업자, iFrame 및 페이지 JavaScript를 동시에 디버깅할 수 있습니다. 또한 새 디버깅 환경에서는 백 엔드 노드 서버 애플리케이션과 브라우저의 클라이언트 쪽 JavaScript 동시 디버깅에 대한 지원이 추가되었습니다. 이 기능은 아직 실험적입니다. 디버깅 옵션 메뉴에서 새 디버깅 환경을 사용하도록 설정할 수 있습니다.

  • LiveShare 시나리오를 더 잘 지원할 수 있도록 서명 도움말 및 정의로 이동 구현이 업데이트되었습니다.

.NET Core 및 SDK 스타일 프로젝트용 Microsoft Fakes

이제 Microsoft Fakes가 .NET Core를 지원합니다! 많은 사용자는 앱 및 테스트 도구 모음을 .NET Core로 마이그레이션하기를 원하며, 이제 .NET Core에 대한 Fakes 지원을 통해 해당 프로세스의 많은 부분이 가능합니다. 도구 > 옵션 > 미리 보기 기능에서 이 기능을 사용하도록 설정할 수 있습니다. Fakes는 스텁 또는 shim을 사용하여 제품 코드의 특정 부분 모형을 만들어 테스트를 격리하는 데 유용한 모형 만들기 프레임워크입니다. 이 모형 만들기는 제품 코드에서 테스트를 격리하는 데 도움이 되므로 지정된 테스트와 관련된 내용만 테스트하는 데 집중할 수 있습니다.

편집기

목록 보기: 파일에서 새 찾기 환경을 통해 이전 결과 형식(서식 없는 플랫 텍스트)이 특정 용도에 유용하다는 피드백을 받았습니다. 이제 결과 패널에서 목록 보기를 사용하여 이전 형식의 결과에 액세스할 수 있습니다.

찾기 반복: 파일에서 찾기 작업의 결과 창에 이제 "찾기 반복" 단추가 있습니다. 이 단추는 검색에 사용되는 모든 옵션을 사용하며 이 옵션으로 파일에서 찾기 패널을 다시 채웁니다. 이렇게 하면 일부 변경을 수행한 후 검색을 반복하거나 검색을 조정하여 결과 범위를 좁히기가 쉬워집니다. 포커스가 결과 창에 있는 동안 Alt + R을 입력하고 Enter 키를 눌러 검색을 즉시 반복하세요.

.NET 생산성

명시적 캐스트 코드 수정 추가: 이제 식을 암시적으로 캐스팅할 수 없는 경우 명시적 캐스트를 추가하는 코드 수정이 있습니다. 오류에 커서를 놓고 (Ctrl+.)를 눌러 ‘빠른 작업 및 리팩터링’ 메뉴를 트리거합니다. ‘명시적 캐스트 추가’를 선택합니다. Add explicit cast

조건식 리팩터링 간소화: 불필요한 코드를 제거하여 조건식을 간소화합니다. 조건식에 커서를 놓습니다. (Ctrl+.)을 눌러 빠른 작업 및 리팩터링 메뉴를 트리거합니다. ‘조건식 단순화’를 선택합니다. Simplify conditional expressions

일반 문자열 리터럴을 축자 문자열 리터럴 리팩터링으로 변환합니다. 일반 문자열 리터럴에 커서를 놓습니다. (Ctrl+.)을 눌러 빠른 작업 및 리팩터링 메뉴를 트리거합니다. ‘축자 문자열로 변환’을 선택합니다. Convert to verbatim string

축자 문자열 리터럴을 일반 문자열 리터럴 리팩터링으로 변환: 축자 문자열 리터럴에 커서를 놓습니다. (Ctrl+.)을 눌러 빠른 작업 및 리팩터링 메뉴를 트리거합니다. 일반 문자열로 변환을 선택합니다. Convert to regular string

편집기를 통해 분석기 범주의 심각도 수준을 직접 대량으로 구성합니다. 커서를 오류, 경고 또는 제안 및 유형(Ctrl+.)에 배치하여 빠른 작업 및 리팩터링 메뉴를 트리거합니다. 문제 표시 안 함 또는 구성을 선택합니다. 그런 다음, ‘모든 {범주 이름} 분석기의 심각도 구성’을 선택합니다. 그러면 기존 EditorConfig 파일이 범주의 새 심각도로 업데이트됩니다. Bulk configure analyzer categories

반환 및 값 태그가 포함된 XML 주석에 대한 빠른 정보 스타일 지원: 요소 위에 커서를 놓습니다. 그런 다음, 요약 정보는 코드 위의 XML 주석에서 지원되는 스타일을 표시합니다. XML style support for returns and value tags

EditorConfig를 사용하여 기존 파일, 프로젝트 및 솔루션에 파일 헤더 추가: 먼저 editorConfig 파일에 file_header_template 규칙을 추가해야 합니다. 그런 다음, 적용하려는 헤더 텍스트와 같도록 값을 설정해야 합니다. Add file header rule

그런 다음, C# 또는 Visual Basic 파일의 첫 줄에 커서를 놓고 (Ctrl+.)를 입력하여 ‘빠른 작업 및 리팩터링’ 메뉴를 트리거합니다. ‘파일 배너 추가’를 선택합니다. 기존 프로젝트 또는 솔루션의 모든 파일에 파일 헤더를 적용하려면 ‘다음 위치에서 모든 발생 수정’ 옵션에서 ‘프로젝트’ 또는 ‘솔루션’을 선택합니다. Add file header

웹 도구

Azure 서비스 및 에뮬레이터를 구성하기 위한 새로운 환경: 커넥트 서비스 탭은 이제 애플리케이션을 Azure SQL, Storage, Key Vault 등과 같은 Azure 서비스에 연결하는 새로운 환경을 제공합니다. 새로운 환경은 새 인스턴스를 프로비저닝하거나 기존 인스턴스를 선택하는 데 도움을 주며, 코드에 최신 NuGet 패키지와 올바른 시작 구성 코드가 사용되도록 합니다. 가능한 경우 로컬 에뮬레이션 옵션도 사용할 수 있습니다.

게시 환경에 업데이트. 이제 게시는 옵션을 안내하는 새 게시 프로필을 만들기 위한 마법사와 같은 새로운 익스피리던스를 제공합니다. 일부 Visual Studio 구성 요소가 설치에서 누락되는 경우에도 전체 게시 대상 및 옵션 집합에 액세스할 수 있습니다. 모든 누락된 구성 요소가 식별되어 주문형으로 설치를 요청할 수 있습니다. 또한 Azure 서비스에 대한 종속성을 구성할 수 있는 연결된 서비스 탭에서 사용할 수 있는 환경과 일치하도록 게시 프로필 요약 페이지가 업데이트되었습니다.

Windows Forms

.NET Core용 Windows Forms 디자이너

이제 .NET Core 프로젝트용 Windows Forms 디자이너를 사용할 수 있습니다. Visual Studio에서 디자이너를 사용하도록 설정하려면 도구 > 옵션 > 환경 > 미리 보기 기능으로 이동하여 .NET Core 앱에 미리 보기 Windows Forms 디자이너 사용 옵션을 선택합니다.

Windows Forms Designer for .NET Core

이 릴리스에서는 추가 컨트롤에 대한 지원을 포함하여 다음과 같은 기능이 향상되었습니다.

  • 모든 대화 상자 컨트롤, PropertyGrid, HScrollBar, VScrollBar, DomainUpDown 및 TrackBar 지원
  • 끌어서 놓기 개선
  • 선택 개선
  • 안정성 및 버그 수정

WPF/UWP 도구

패키징 마법사의 Azure Key Vault: UWP 개발자는 이제 패키징 마법사에서 Azure Key Vault에서 직접 코드 서명 인증서를 사용하여 앱 패키지에 서명할 수 있습니다. Key Vault의 URI 및 Microsoft 계정에 대한 올바른 권한만 있으면 됩니다. 선택한 인증서를 서명에 사용될 수 있는 사용자의 로컬 인증서 저장소로 가져옵니다. 또한 이제 Key Vault의 비밀을 사용하여 로컬 암호로 보호되는 인증서의 암호를 해독할 수 있습니다.

이제 XAML 핫 다시 로드와 라이브 시각적 트리가 동시에 여러 프로세스에 연결을 지원합니다. 따라서 솔루션에서 동시에 여러 WPF/UWP 프로젝트를 시작하거나 UWP 앱에서 다중 인스턴스를 사용하는 경우 등의 시나리오에 도움이 됩니다. 이 기능이 작동하도록 같은 프로세스의 요소를 함께 그룹화할 수 있는 새로운 최상위 프로세스 노드가 포함되도록 라이브 시각적 트리가 업데이트되었습니다. Live Visual Tree with multiple processes attached

도구 상자는 이제 여러 VisualStudioToolsManifest.xml 파일이 있는 NuGet 패키지를 지원합니다. 이렇게 하면 NuGet 패키지 작성자가 참조하는 프로젝트의 프레임워크/플랫폼 버전에 따라 도구 상자에 표시되는 컨트롤을 변경할 수 있습니다. 도구 상자에는 프로젝트의 대상 프레임워크/플랫폼과 가장 잘 일치하는 도구 하위 디렉터리 TFM(대상 프레임워크 모니커)이 포함된 매니페스트의 항목이 표시됩니다. TFM 일치 항목이 없는 경우 도구 디렉터리의 루트에 있는 매니페스트로 대체됩니다. 이 루트 매니페스트는 이전 버전의 Visual Studio와의 호환성을 위해서도 필요합니다.

새 설정: 저장 시 XAML 핫 다시 로드. XAML 핫 다시 로드는 기본적으로 모든 유효한 XAML 변경 내용을 실시간으로 실행 중인 앱으로 보냅니다. 이 릴리스에는 개발자가 이 동작 방식을 선택할 수 있는 새 설정(디버그 > 옵션 > 일반 > XAML용 UI 디버깅 도구 사용 > 문서 저장 시 XAML 핫 다시 로드 적용)이 추가되었습니다. 이 설정을 사용하도록 설정하면, 편집 중인 파일이 저장될 때까지 XAML 핫 다시 로드 변경 내용이 적용되지 않습니다.

클래스 디자이너에 어두운 테마 지원이 추가되었습니다.

Class Designer now supports dark theme

Xamarin

이제 XAML 핫 다시 로드에서 전체 페이지 대신 페이지의 변경된 내용만 다시 로드할 수 있습니다. 도구 > 옵션 > Xamarin > 핫 다시 로드에서 “옵션 다시 로드” 설정을 변경해 보세요.

실행 중인 애플리케이션의 페이지에서 요소의 라이브 시각적 트리를 봅니다. 디버그 > 창 > 라이브 시각적 트리를 통해 XAML 핫 다시 로드 디버그 세션 중에 라이브 시각적 트리를 엽니다.

환경 설정 패드를 사용하여 어둡게/밝게 모드, 글꼴 크기 등의 에뮬레이터 설정을 재정의합니다. 디버그 > 창 > 환경 설정을 통해 XAML 핫 다시 로드 세션 중에 엽니다.

Lint 구성 파일을 사용하고 Android XML을 편집할 때 훨씬 더 많은 IntelliSense 제안 사항 중에서 선택할 수 있습니다.


버그 수정

Visual Studio 2019 버전 16.6.0에서 해결된 주요 문제

  • 새 Git 환경 기능 플래그를 사용하도록 설정하면 팀 탐색기 사용자에게 새 Git 도구 창으로 안내하는 메시지가 표시됩니다.
  • WinForms .NET Core 디자이너가 열려 있을 때 VS를 닫는 동안 발생하는 일시적인 UI 지연 문제를 해결했습니다.
  • 형식 공급자를 사용하여 프로젝트를 만들 때 런타임에 누락된 메서드 예외가 throw되는 문제를 해결했습니다.
  • .NET Framework 프로젝트의 프로젝트 생성 문제를 해결했습니다.
  • 새 ‘파일에서 찾기’ 환경에 도구-옵션-찾기 및 바꾸기 창의 옵션이 적용됩니다.
  • 폴더를 닫고 솔루션을 열 때 Git 리포지토리가 변경되지 않는 버그를 수정했습니다.
  • 전체 디버그 기호를 사용하여 iOS 앱을 빌드할 때 발생하는 버그를 수정했습니다.
  • Windows에서 Mac 배포 프로비저닝 프로필 및 인증서 백 브라우징을 추가했습니다.
  • 특정 시나리오에서 Xamarin 프로젝트를 사용할 때 Visual Studio 2019의 응답이 중지되게 하는 버그를 수정했습니다.
  • SQL 스크립트 결과 표에 “복사(머리글 포함)” 옵션의 바로 가기 키가 추가되었습니다.
  • SSDT 사용자는 이제 SQL Server 2008 이상의 모든 버전에 대한 민감도 속성을 설정하고 볼 수 있습니다.
  • 접근성 사용자를 위해 연결 속성 대화 상자를 개선합니다.
  • 테스트한 사람 코드 렌즈 표시기를 사용할 때 가끔 발생하는 크래시가 해결되었습니다.
  • 파일에서 찾기의 텍스트 자동 채우기에 레거시 동작 적용됨
  • 파일에서 찾기의 왼쪽 화살표 키 동작이 올바르게 되었습니다.
  • C++20 Ranges 라이브러리의 C++ 사용자가 알고리즘을 사용하지 못하도록 차단하는 문제입니다.

Developer Community


알려진 문제

아래 링크에 따라 Visual Studio 2019에서 알려진 미해결 문제 및 해결 방법을 모두 확인하세요.

Visual Studio 2019 버전 16.6 알려진 문제

피드백 및 제안

많은 의견 부탁드립니다! 문제가 있으면 설치 관리자나 Visual Studio IDE 자체의 오른쪽 위에서 문제 보고 옵션을 통해 알려주세요. Feedback Icon 아이콘은 오른쪽 위 모서리에 있습니다. Visual Studio 개발자 커뮤니티에서 제품에 대해 제안하거나 문제를 추적하고, 질문하고 대답을 찾고 새로운 기능을 제안할 수 있습니다. 라이브 채팅 지원을 통해 무료 설치 도움말을 가져올 수도 있습니다.


Blogs

개발자 도구 블로그 사이트에서 사용 가능한 인사이트 및 권장 사항을 활용하여 모든 새 릴리스에 대한 최신 정보와 다양한 기능에 대한 심층적인 게시물을 확인하세요.


Visual Studio 2019 릴리스 정보 기록

이전 버전의 Visual Studio 2019와 관련된 자세한 내용은 Visual Studio 2019 릴리스 정보 기록 페이지를 참조하세요.


맨 위로 이동