다음을 통해 공유


Visual Studio 아이콘Visual Studio 2019 버전 16.9 릴리스 정보



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


참고 항목

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



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

지원 기간

Visual Studio 2019 버전 16.9는 Visual Studio 2019에 지원되는 네 번째 서비스 기준입니다. 장기적으로 안정적인 보안 개발 환경을 채택해야 하는 엔터프라이즈 및 전문 고객은 이 버전을 표준화하는 것이 좋습니다.  수명 주기 및 지원 정책에 자세히 설명된 대로 버전 16.9는 2022년 10월까지 수정 및 보안 업데이트로 지원됩니다. Visual Studio 2019 버전 16.11이 릴리스되고 1년 후인 2022년 10월이 마지막 서비스 기준으로 선언되었습니다.

또한 버전 16.9를 사용할 수 있으므로 마지막 서비스 기준이었던 버전 16.7은 12개월 동안 추가로 지원되며 2022년 4월에 지원이 종료될 예정입니다. 버전 16.8도 더 이상 지원되지 않습니다. 이러한 중간 릴리스는 다음 부 업데이트가 출시될 때까지만 서비스 수정 사항을 수신합니다.

my.visualstudio.com 다운로드 섹션에서 가장 안전한 최신 버전의 Visual Studio 2019 버전 16.9를 다운로드할 수 있습니다. 최신 버전의 릴리스 정보를 참조하거나 Visual Studio 사이트를 방문하여 지원되는 최신 버전의 Visual Studio 2019를 다운로드합니다. Visual Studio에서 지원 기준에 대한 자세한 내용은 Visual Studio 2019 지원 정책을 참조하세요.

Visual Studio 2019 버전 16.9 릴리스

Visual Studio 2019 보관된 릴리스 정보

Visual Studio 2019 블로그

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


릴리스 정보 아이콘 Visual Studio 2019 버전 16.9.26새 릴리스 아이콘

릴리스 날짜: 2022년 10월 11일

이 릴리스에서 해결된 문제입니다.

  • 관리자는 VS를 업데이트하지 않고도 레이아웃에서 오프라인 클라이언트 컴퓨터의 VS Installer를 업데이트할 수 있습니다.

보안 권고 알림

  • CVE-2022-41032 .NET 권한 상승 취약성 A 취약성은 악의적인 행위자가 사용자가 임의 코드를 실행하도록 할 수 있는 .NET 7.0.0-rc.1, .NET Core 3.0, .NET Core 3.1 및 NuGet 클라이언트(NuGet.exe, NuGet.Commands, NuGet.CommandLine, NuGet.Protocol)에 존재합니다.

릴리스 정보 아이콘 Visual Studio 2019 버전 16.9.25

보안 권고 알림

  • CVE-2022-38013 .NET 서비스 거부 취약성 A 서비스 거부 취약성은 ASP.NET Core 3.1 및 .NET 6.0에 존재합니다. 여기서 악의적인 클라이언트는 스택 오버플로를 유발하여 공격자가 모델 바인딩 중에 구문 분석된 사용자 지정된 페이로드를 보낼 때 서비스 거부 공격을 초래할 수 있습니다.

릴리스 정보 아이콘 Visual Studio 2019 버전 16.9.24

릴리스 날짜: 2022년 8월 9일

이 릴리스에서 해결된 문제입니다.

  • Windows용 Git을 CVE-2022-31012 주소 지정 v2.37.1.1로 업데이트합니다.

보안 권고 알림


릴리스 정보 아이콘 Visual Studio 2019 버전 16.9.23

릴리스 날짜: 2022년 6월 14일

이 릴리스에서 해결된 문제입니다.

  • cdnjs API에 대한 변경 내용을 수용하도록 LibraryManager가 업데이트됨

보안 권고 알림


릴리스 정보 아이콘 Visual Studio 2019 버전 16.9.21

릴리스 날짜: 2022년 5월 10일

이 릴리스에서 해결된 문제입니다.

  • Visual Studio에서 사용하는 Windows 버전 및 설치 가능한 선택적 구성 요소에 대한 Git을 2.36.0.1로 업데이트했습니다.
  • 분기된 분기를 풀 또는 동기화하는 경우 출력 창에 확인 방법에 대한 지역화된 힌트가 표시되지 않는 git 통합 관련 문제를 해결했습니다.

보안 권고 알림

CVE-2022-29117 .NET 서비스 거부 취약성 .NET 6.0, .NET 5.0 및 .NET Core 3.1에 악의적인 클라이언트가 쿠키를 조작하고 서비스 거부를 일으킬 수 있는 취약성이 있습니다.

CVE-2022-23267 .NET Core 서비스 거부 취약성 .NET 6.0, .NET 5.0 및 .NET Core 3.1에 악의적인 클라이언트가 HttpClient를 통해 과도한 메모리 할당을 통해 서비스 거부를 일으킬 수 있는 취약성이 있습니다.

CVE-2022-29145 .NET 서비스 거부 취약성 .NET 6.0, .NET 5.0 및 .NET Core 3.1에 악의적인 클라이언트가 HTML 형식이 구문 분석되면 서비스 거부를 일으킬 수 있는 취약성이 있습니다.

CVE-2022-24513 권한 상승 취약성 Microsoft Visual Studio 업데이트 서비스가 로컬 구성 데이터를 잘못 구문 분석하는 경우 권한 상승 취약성이 존재합니다.


릴리스 정보 아이콘 Visual Studio 2019 버전 16.9.20

릴리스 날짜: 2022년 4월 19일

이 릴리스에서 해결된 문제입니다.

  • 16.9.19에서 vctip.exe 회귀를 수정했습니다.

릴리스 정보 아이콘 Visual Studio 2019 버전 16.9.19

릴리스 날짜: 2022년 4월 12일

이 릴리스에서 해결된 문제입니다.

보안 권고 알림

CVE-2022-24765 권한 상승 취약성 Windows용 Git에 Git 디렉터리를 검색할 때 Git 작업이 리포지토리 외부에서 실행될 수 있는 권한 상승 취약성이 존재합니다. Windows용 Git이 버전 2.35.2.1로 업데이트되었습니다.

CVE-2022-24767 DLL 하이재킹 취약성 SYSTEM 사용자 계정으로 Windows용 Git 설치 제거 프로그램을 실행할 때 DLL 하이재킹 취약성이 존재합니다. Windows용 Git이 버전 2.35.2.1로 업데이트되었습니다.

CVE-2022-24513 권한 상승 취약성 Microsoft Visual Studio 업데이트 서비스가 로컬 구성 데이터를 잘못 구문 분석하는 경우 권한 상승 취약성이 존재합니다.


릴리스 정보 아이콘 Visual Studio 2019 버전 16.9.18

릴리스 날짜: 2022년 3월 8일

이 릴리스에서 해결된 문제입니다.

보안 권고 알림

CVE-2020-8927 취약성 .NET 5.0 및 .NET Core 3.1에는 1.0.8 이전의 Brotli 라이브러리 버전에서 버퍼 오버플로가 발생하는 원격 코드 실행 취약성이 있습니다.

CVE-2022-24464 취약성 .NET 6.0, .NET 5.0, .NET CORE 3.1에는 특정 형식의 http 폼 요청을 구문 분석할 때 발생하는 서비스 거부 취약성이 있습니다.

CVE-2022-24512 취약성 .NET 6.0, .NET 5.0, .NET Core 3.1에는 .NET 이중 구문 분석 루틴에서 스택 버퍼 오버런이 발생하는 원격 코드 실행 취약성이 있습니다.

CVE-2021-3711 OpenSSL 버퍼 오버플로 취약성 OpenSSL에는 Git for Windows에서 사용되는 잠재적인 버퍼 오버플로 취약성이 있습니다. 이제 Git for Windows가 이 문제를 해결하는 버전 2.35.1.2로 업데이트되었습니다.


릴리스 정보 아이콘 Visual Studio 2019 버전 16.9.17

릴리스 날짜: 2022년 2월 8일

이 릴리스에서 해결된 문제:

보안 권고 알림

CVE-2022-21986 취약성 Kestrel 웹 서버가 특정 HTTP/2 and HTTP/3 .요청을 처리하는 경우에 .NET 5.0 과 .NET 6.0에 서비스 거부 취약성이 존재합니다.

CVE-2022-21871 진단 허브 표준 수집기 서비스 런타임 권한 상승 취약성 권한 상승 취약성은 진단 허브 표준 수집기가 데이터 작업을 잘못 처리하는 경우에 존재합니다.


릴리스 정보 아이콘 Visual Studio 2019 버전 16.9.16

릴리스 날짜: 2022년 1월 11일

이 릴리스에서 해결된 문제:

  • Visual Studio 16.8.5 이상을 사용하여 대규모 프로젝트를 빌드할 때 link.exe와 간헐적으로 충돌하는 문제가 해결되었습니다.
  • Windows 터미널을 기본 터미널로 사용할 때 애플리케이션을 여러 번 디버그할 수 없는 문제가 해결되었습니다.
  • 제한된 구성에서 고객 차단을 해제하기 위한 설치 프로그램 수정
  • 클라이언트에서 더 최신 부트스트래퍼를 업데이트할 수 없는 문제가 해결되었습니다. 클라이언트가 2022년 1월 이후 제공된 부트스트래퍼 및 설치 프로그램을 사용하면 이후의 부트스트래퍼를 사용하는 모든 업데이트는 제품 수명 주기 동안 유효합니다.

Developer Community


릴리스 정보 아이콘 Visual Studio 2019 버전 16.9.15

‘릴리스 날짜: 2021년 12월 14일’

이 릴리스에서 해결된 문제:

  • Python 워크로드에 Python 3.9.7이 추가되었습니다. 보안 취약성으로 인해 Python 3.7.8이 제거되었습니다.

보안 권고 알림

CVE-2021-43877 취약성 ANCM에는 권한 상승 취약성이 있습니다. 이로 인해 .Net Core, .NET 5, .NET 6 애플리케이션이 IIS 내에서 호스트될 때 권한이 상승할 수 있습니다.


릴리스 정보 아이콘 Visual Studio 2019 버전 16.9.14

릴리스 날짜: 2021년 11월 16일

이 릴리스에서 해결된 문제:

  • 이제 부트스트래퍼는 --useLatestInstaller 매개 변수를 사용합니다. 그러면 최신 설치 관리자가 레이아웃에 통합됩니다. Visual Studio 2022에 제공되는 이 최신 설치 관리자를 사용하면 엔터프라이즈에서 한 레이아웃 위치에서 다른 위치로 클라이언트를 전환하려는 시나리오가 지원됩니다. 자세한 내용은 [Visual Studio 관리자 가이드]를 참조하세요. (* 이제 부트스트래퍼에서 --useLatestInstaller 매개 변수를 사용하므로 최신 설치 관리자가 레이아웃에 통합됩니다. Visual Studio 2022와 함께 제공되는 이 최신 설치 관리자를 사용하면 엔터프라이즈가 한 레이아웃 위치에서 다른 위치로 클라이언트를 전환하려는 시나리오가 지원됩니다. 자세한 내용은 Visual Studio 관리자 가이드를 참조하세요.)

릴리스 정보 아이콘 Visual Studio 2019 버전 16.9.13

릴리스 날짜: 2021년 11월 9일

이 릴리스에서 해결된 문제:

  • 시작 메뉴 바로 가기 링크를 사라지게 한 버그를 수정했습니다. 버그는 동일한 머신에서 서로 다른 제품 SKU의 여러 인스턴스를 업데이트할 때만 발생했습니다.

보안 권고 알림

CVE-2021-42319 권한 상승 취약성 권한 상승 취약성은 Visual Studio 설치 관리자에 포함된 WMI 공급자에 있습니다.

CVE-2021-42277 진단 허브 표준 수집기 서비스 권한 상승 취약성 권한 상승 취약성은 진단 허브 표준 수집기가 파일 작업을 부적절하게 처리할 때 존재합니다.


릴리스 정보 아이콘 Visual Studio 2019 버전 16.9.12

릴리스 날짜: 2021년 10월 12일

이 릴리스에서 해결된 문제:

  • 이진 및 POGO 계측 런타임 간에 ARM64 및 ARM64EC 인터페이스로 업데이트합니다.

보안 권고 알림

CVE-2021-41355 .NET 5.0의 공개 취약성

.NET에는 정보 공개 취약성이 있습니다. 여기서 System.DirectoryServices.Protocols.LdapConnection은 자격 증명을 Linux에서 일반 텍스트로 보냅니다.

CVE-2020-1971 OpenSSL 서비스 거부 취약성

Git에서 사용되는 OpenSSL 라이브러리에는 잠재적 서비스 거부 취약성이 있습니다.

CVE-2021-3449 OpenSSL 서비스 거부 취약성

Git에서 사용되는 OpenSSL 라이브러리에는 잠재적 서비스 거부 취약성이 있습니다.

CVE-2021-3450 OpenSSL 서비스 거부 취약성

Git에서 사용되는 OpenSSL 라이브러리에 잠재적 플래그 바이패스가 있습니다.


릴리스 정보 아이콘 Visual Studio 2019 버전 16.9.11

‘릴리스 날짜: 2021년 9월 14일’

이 릴리스에서 해결된 문제:

  • SAL 주석에서 필드를 참조하는 명명되지 않은 구조체로 인해 발생하는 내부 컴파일러 오류를 해결했습니다.
  • __uuidof를 사용하는 템플릿 기반 코드를 분석할 때 드물게 발생하는 크래시를 해결했습니다.

보안 권고 알림

CVE-2021-26434 Visual Studio 잘못된 권한 할당 권한 상승 취약성

C++를 사용한 게임 개발을 설치하고 Unreal Engine 설치 관리자 워크로드를 선택한 후 Visual Studio에 권한 할당 취약성이 있습니다. 설치하는 동안 시스템은 LPE에 취약하며 모든 사용자에게 쓰기 권한이 있는 디렉터리를 만듭니다.

Developer Community


릴리스 정보 아이콘 Visual Studio 2019 버전 16.9.10

‘릴리스 날짜: 2021년 8월 10일’

이 릴리스에서 해결된 문제:

  • 설치된 확장을 보고할 때 더 이상 디스크의 경로를 전송하지 않습니다.
  • 클래스 내 템플릿 특수화에서 정적 데이터 멤버를 처리할 때 발생하는 IntelliSense 크래시 문제를 해결했습니다.
  • 업데이트 명령의 명령줄 실행에 영향을 주는 문제가 해결되었습니다. 처음 업데이트에 실패한 경우 이후에 업데이트 명령을 실행하면 이제 업데이트가 중단된 지점에서 이전 작업이 다시 시작됩니다.

보안 권고 알림

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.9.9

릴리스 날짜: 2021년 7월 13일

이 릴리스에서 해결된 문제:

  • 추가 기능 사용 시 Outlook이 충돌하는 ARM64X 문제가 해결되었습니다.
  • C++ 컴파일러에서 if 변환을 잘못 수행하는 문제가 해결되었습니다.
  • 최신 Windows 업데이트의 호환성과 관련된 ASan 문제가 해결되었습니다.
  • ASan은 더 이상 가양성 memcpy 메모리 영역 겹침 오류를 보고하지 않습니다.
  • 배열 형식의 명명되지 않은 함수 매개 변수가 있는 함수 템플릿으로 인해 파서가 후속 함수 정의를 건너뛰게 되어 상수 식에서 함수에 대한 호출을 평가할 때 함수가 정의되지 않았다는 잘못된 constexpr 오류가 발생했습니다. 이 수정 사항은 건너뛴 함수 정의의 구문 분석 기능을 다시 활성화합니다.
  • VARIANT의 오용에서 버그를 찾는 검사기 확장 중 하나로 인해 발생하는 성능 문제 및 가양성 문제를 해결했습니다.
  • 열거형 값을 인덱스로 잘못 사용하는 버그를 찾는 검사기 확장 중 하나로 인해 발생하는 성능 문제를 해결했습니다.
  • 여러 TU를 컴파일할 때 메모리 부족 누수를 수정했습니다.
  • 동시성 분석기는 자동 잠금 패턴으로 더 이상 잘못된 경고 C26110(잠금 획득 실패)을 생성하지 않아야 합니다.
  • 이 수정은 외부 헤더 분석을 건너뛰고 외부 헤더에서 경고를 표시하지 않음으로써 외부 헤더에 대한 동작을 복원합니다.
  • 코드 분석의 동시성 검사가 더 스마트해졌습니다. 복잡한 제어 흐름으로 속이기 더 어렵습니다.
  • 레이아웃 생성과 관련된 문제가 해결되었습니다.
  • 업데이트 채널 정보가 누락되어 업데이트가 실패할 수 있는 문제를 해결했습니다.

Developer Community


릴리스 정보 아이콘 Visual Studio 2019 버전 16.9.8

‘릴리스 날짜: 2021년 6월 15일’

Developer Community


릴리스 정보 아이콘 Visual Studio 2019 버전 16.9.7

‘릴리스 날짜: 2021년 6월 8일’

이 릴리스에서 해결된 문제:

  • SSA 명령 복제에서 버그를 수정했습니다.
  • mspdbcore.dll 크래시가 발생하는 문제를 해결했습니다.
  • 고객 코드베이스의 장기 실행/시간 초과 빌드를 수정했습니다.
  • 개발자가 PyTorch를 빌드할 수 없도록 하는 문제를 해결했습니다.
  • 32비트 MSBuild.exe 프로세스를 사용하여 대규모 코드베이스를 빌드할 때 발생하는 내부 MSBuild 오류(MSB0001)를 수정합니다.
  • 개발자가 매핑된 포트를 확인한 후 다른 컨테이너로 전환하려고 할 때 Visual Studio 2019 크래시가 발생하는 컨테이너 도구 창의 문제를 해결했습니다.

보안 권고 알림

CVE-2021-31957 ASP.NET 서비스 거부 취약성

ASP.NET Core가 클라이언트 연결 해제를 잘못 처리할 때 서비스 거부 취약성이 발생합니다.

Developer Community

Developer Community에 이 릴리스에서 제공하는 모든 항목을 보여 주는 전체 목록이 있습니다.

16.9.7에서 릴리스된 몇 가지 주요 문제 중 일부는 다음과 같습니다.

릴리스 정보 아이콘 Visual Studio 2019 버전 16.9.6

릴리스 날짜: 2021년 5월 18일

이 릴리스에서 해결된 문제:

  • 인증서를 만들거나 자동 프로비저닝을 실행할 때 발생하는 “삭제된 개체에 액세스할 수 없습니다. 개체 이름:‘System.Net.Http.StringContent’” 오류를 해결했습니다.
  • iOS 핫 다시 시작 기능이 제대로 작동하지 않는 문제를 해결했습니다.

Developer Community

Developer Community에 이 릴리스에서 제공하는 모든 항목을 보여 주는 전체 목록이 있습니다.

16.9.6에서 릴리스된 몇 가지 주요 문제 중 일부는 다음과 같습니다.


릴리스 정보 아이콘 Visual Studio 2019 버전 16.9.5

릴리스 날짜: 2021년 5월 11일

이 릴리스에서 해결된 문제:

  • 내보내기를 사용할 때 Office 도구가 예상대로 작동하지 않는 문제를 해결했습니다.
  • x64와 ARM64EC DLL 간의 특정 가상 호출 중에 발생한 Visual Studio 2019 크래시를 해결했습니다.
  • 다중 스레드 ASan 계측 코드를 실행할 때의 가양성을 해결했습니다.
  • ‘COM 구성 요소 호출에서 HRESULT E_FAIL이 반환되었습니다’라는 오류를 생성하는 프로젝트 오류를 수정했습니다.
  • 시작 시 C++ 파일을 열 때 Visual Studio 2019의 응답이 가끔 중지되는 문제를 해결했습니다.
  • 파일의 CmakeSettings.json 구성에서 새 설정이 유지되지 않는 문제를 해결했습니다.
  • 파일 경로가 하나 이상의 비 ASCII 문자를 포함하는 경우 원본 파일을 분석하여 발생한 내부 컴파일러 오류를 수정했습니다.
  • 코드 검사 파일에서 한 라이브러리에 항목이 여러 개 있는 경우 검사 파일을 열 때의 문제를 해결했습니다.
  • 원격 데스크톱을 사용하여 비 회사 계정으로 로그인하는 고객에게 액세스 거부가 발생할 수 있는 버그를 수정했습니다.
  • 개발자가 사용자 지정 대화 상자에서 메뉴를 사용자 지정하고 구분 기호를 클릭했을 때 Visual Studio 2019에 크래시를 발생시키는 버그를 수정했습니다.
  • 솔루션을 열 때 부동 문서 창이 복원됩니다.
  • 관리자가 업데이트를 배포하기 위해 Visual Studio의 새 레이아웃을 만들 때 업데이트가 실패하는 문제를 해결했습니다. 레이아웃 위치를 이동한 후 클라이언트 컴퓨터가 업데이트되지 않습니다.
  • 빠른 배포를 사용하는 프로젝트 빌드가 실패하거나 배포에 오랜 시간이 걸리는 문제를 해결했습니다.
  • Xcode 12.5 지원을 추가했습니다.
  • 관리자가 업데이트를 배포하기 위해 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에는 권한 상승 취약성이 존재합니다.

Developer Community

Developer Community에 이 릴리스에서 제공하는 모든 항목을 보여 주는 전체 목록이 있습니다.

16.9.5에서 릴리스된 몇 가지 주요 문제 중 일부는 다음과 같습니다.


릴리스 정보 아이콘 Visual Studio 2019 버전 16.9.4

‘릴리스 날짜: 2021년 4월 13일’

이 릴리스에서 해결된 문제:

  • 종속되지 않은 기본 클래스에 있는 일부 형식의 템플릿 이름에서 오류를 일으키는 SFINAE 버그를 수정했습니다.
  • IntelliCode가 임시 디렉터리에 로그인을 시도할 때 임시 디렉터리에 대한 액세스가 거부되는 문제를 해결했습니다.
  • 타사 권한 관리 소프트웨어가 설치되어 있는 경우 일부 Visual Studio 기능이 제한되는 문제를 해결했습니다.
  • 고객이 XBox에서 반복적으로 디버깅을 시작할 경우 점점 더 많은 커널 리소스가 사용되는 문제를 해결했습니다. 궁극적으로 XBox를 다시 시작해야 하는데, 이 경우 모든 상태가 손실됩니다.
  • Windows의 Insider Preview 빌드를 사용하여 네이티브 코드를 디버그할 때 시스템이 중단되는 문제를 해결했습니다.
  • 키보드 포커스와 관련된 접근성 버그를 수정했습니다.
  • 새 프로젝트 대화 상자에서 누락된 Xamarin 템플릿(iOS/Android 클래스 라이브러리, iOS/Android 바인딩 라이브러리, Android Wear, Xamarin.UITest)을 다시 추가했습니다. 이 템플릿은 실수로 숨겨져 있습니다.
  • SSH 연결을 사용하는 Linux를 대상으로 하는 C++ CMake 기반 프로젝트의 경우 remoteCMakeListsRoot 속성으로 CMakeSettings.json에 지정된 대상 디렉터리가 VS 16.8의 이전 동작으로 복원되었습니다. 여기서 복사본의 대상은 소스 디렉터리의 루트에 해당합니다. 원격 Linux 머신 연결에서 잘못된 대상 경로를 사용합니다. 티켓에서 자세히 설명합니다.

보안 권고 알림

CVE-2021-27064 Visual Studio 설치 관리자 권한 상승 취약성

Visual Studio 설치 관리자가 상승된 권한으로 피드백 클라이언트를 실행할 때 원격 코드 실행 취약성이 존재합니다.

CVE-2021-28313 / CVE-2021-28321 / CVE-2021-28322 진단 허브 표준 수집기 서비스 권한 상승 취약성

권한 상승 취약성은 진단 허브 표준 수집기가 데이터 작업을 잘못 처리하는 경우에 존재합니다.

Developer Community

Developer Community에 이 릴리스에서 제공하는 모든 항목을 보여 주는 전체 목록이 있습니다.

16.9.4에서 릴리스된 몇 가지 주요 문제 중 일부는 다음과 같습니다.


릴리스 정보 아이콘 Visual Studio 2019 버전 16.9.3

‘릴리스 날짜: 2021년 3월 30일’

이 릴리스에서 해결된 문제:

  • 웹 사이트 프로젝트가 포함된 MSBuild.exe를 사용하여 솔루션을 빌드하려고 할 때 발생하는 MSBuild의 크래시를 해결했습니다.
  • ServiceHub에 대한 일부 종속성으로 인해 발생하는 크래시 시나리오를 해결했습니다.
  • Xbox 또는 IoT 디바이스에서 XAML Visual Diagnostics 도구의 사용자가 원격 디버깅을 사용하지 못하는 차단 문제를 해결했습니다.

Developer Community

Developer Community에 이 릴리스에서 제공하는 모든 항목을 보여 주는 전체 목록이 있습니다.

16.9.3에서 릴리스된 몇 가지 주요 문제 중 일부는 다음과 같습니다.


릴리스 정보 아이콘 Visual Studio 2019 버전 16.9.2

‘릴리스 날짜: 2021년 3월 16일’

이 릴리스에서 해결된 문제:

  • ARM64X 전역 함수 포인터 이름 업데이트
  • link -lib -extract를 사용하여 ARM64X LIB의 첫 번째 OBJ 추출 수정
  • 주소 삭제기로 코드 컴파일된 오류 및 최적화에서 Visual Studio 2019에 크래시를 발생시키는 잘못된 코드 생성 문제를 해결함
  • 리소스 편집기에서 대화 상자 편집기를 통해 함수를 추가함으로써 발생한 크래시를 수정함
  • Nuget.org를 더 이상 패키지 소스로 두 번 제거할 필요가 없음
  • NuGet 패키지 구문 분석 성능 향상
  • 서버 탐색기에서 Azure SQL Database 노드를 사용할 때 고객이 수신한 사용되지 않는 API에 대한 오류 메시지를 수정함
  • CascadePackage가 제대로 로드되지 않았다는 오류 메시지가 표시되는 문제를 해결함
  • 빠른 배포를 사용하도록 설정된 빌드 프로젝트가 배포에 실패하거나 추가 시간이 소요되도록 하는 문제를 해결함
  • 핫 다시 로드에서 저장된 변경 내용을 “전체 페이지” 모드로 표시하도록 하는 문제를 해결함
  • 라이브 시각적 트리가 작동하지 않거나 변경 내용을 적용하지 않도록 하는 핫 다시 로드 문제를 해결함

Developer Community

Developer Community에 이 릴리스에서 제공하는 모든 항목을 보여 주는 전체 목록이 있습니다.

16.9.2에서 릴리스된 몇 가지 주요 문제 중 일부는 다음과 같습니다.


릴리스 정보 아이콘 Visual Studio 2019 버전 16.9.1

‘릴리스 날짜: 2021년 3월 9일’

보안 권고 알림

CVE-2021-21300 Git for Visual Studio 원격 코드 실행 취약성

원격 코드 실행 취약성은 Visual Studio에서 악성 리포지토리를 복제하는 경우에 존재합니다.

CVE-2021-26701 .NET Core 원격 코드 실행 취약성

텍스트 인코딩이 수행되는 방식으로 인해 .NET 5 및 .NET Core에 원격 코드 실행 취약성이 존재합니다.

이 릴리스에서 해결된 문제:

  • 잘못된 ARM64EC 메타데이터를 OBJ에 내보내는 문제를 해결했습니다.
  • 기본 옵션인 FixIt이 설정된 상태에서 C++에서 코드를 열 때 오류 표시선이 표시되는 문제를 해결했습니다.
  • 경우에 따라 C++ IntelliSense에서 매우 많은 수의 포함 경로를 사용하려고 하여 응답할 수 없는 상태가 됩니다.
  • C++ 시나리오에서 Live Share의 안정성을 향상했습니다.
  • IntelliCode가 기호 로드를 중지하는 문제를 해결했습니다.
  • 사용자가 새 실험적 Razor 편집기를 사용하도록 설정한 시나리오에서 솔루션 로드 및 종료 시간을 향상합니다.
  • 확장 및 업데이트 대화 상자를 연 다음 Visual Studio를 종료한 후에 발생할 수 있는 ServiceHub의 크래시 시나리오를 해결했습니다.
  • 느린 머신에서 업데이트를 확인할 때 사용할 수 있는 업데이트가 없다는 메시지가 제시되는 오류를 해결했습니다.
  • 증분 변경 중에 Visual Studio에서 WAP 프로젝트를 시작하는 성능을 향상합니다.
  • 이탈리아어 로캘을 사용할 때 설치가 시작되지 않는 문제를 해결했습니다.
  • .NET Core 템플릿 캐시가 초기화되는 동안 설치 관리자가 매우 긴 시간 동안 응답을 중지하는 업그레이드 시나리오를 해결했습니다.

Developer Community

Developer Community에 이 릴리스에서 제공하는 모든 항목을 보여 주는 전체 목록이 있습니다.

16.9.1에서 릴리스된 몇 가지 주요 문제 중 일부는 다음과 같습니다.


릴리스 정보 아이콘 Visual Studio 2019 버전 16.9.0

‘릴리스 날짜: 2021년 3월 2일’

Visual Studio 2019 버전 16.9.0의 이번 릴리스 새로운 기능 요약

C++

  • 주소 삭제자:
    • Windows의 주소 삭제기 지원은 이제 실험용이 아니며 일반 공급됩니다.
    • RtlAllocateHeap 지원을 확장하고, 실행 가능한 메모리 풀을 만들 때 RtlCreateHeap 및 RtlAllocateHeap 인터셉터의 호환성 문제가 해결되었습니다.
    • 메모리 함수의 레거시 GlobalAlloc 및 LocalAlloc 패밀리에 대한 지원이 추가되었습니다. ASAN_OPTIONS=windows_hook_legacy_allocators=true를 사용하여 이러한 인터셉터를 사용하도록 설정할 수 있습니다.
    • 문제 및 해결을 명시적으로 만들 수 있도록 섀도 메모리 인터리빙 및 인터셉션 실패의 오류 메시지가 업데이트되었습니다.
    • 이제 IDE 통합이 ASan에서 보고할 수 있는 전체 예외 컬렉션을 처리할 수 있습니다.
    • 컴파일러와 링커는 사용자가 ASan을 사용하여 빌드하고 있지만 디버그 정보를 내보내지 않는 것을 검색하는 경우 디버그 정보 내보내기를 제안합니다.
  • 이제 새 CL switch/openmp:llvm으로 OpenMP 런타임의 LLVM 버전을 대상으로 지정할 수 있습니다. 이렇게 하면 #pragma omp 섹션의 lastprivate 절과 루프의 병렬로 부호 없는 인덱스 변수에 대한 지원이 추가됩니다. /openmp:llvm switch는 현재 amd64 대상에만 사용할 수 있으며, 아직 실험적입니다.
  • 이제 Visual Studio CMake 프로젝트에 원격 Windows 개발을 위한 고급 지원이 포함됩니다. 여기에는 Windows ARM64를 대상으로 하도록 CMake 프로젝트 구성, 원격 Windows 컴퓨터에 프로젝트 배포, Visual Studio에서 원격 Windows 컴퓨터의 프로젝트 디버깅이 포함됩니다.
  • Windows에서 Visual Studio와 함께 제공되는 Ninja 버전이 버전 1.10으로 업데이트되었습니다. 포함된 항목에 대한 자세한 내용은 Ninja 1.10 릴리스 정보를 참조하세요.
  • Visual Studio와 함께 제공되는 CMake 버전이 버전 3.19로 업데이트되었습니다. 포함된 항목에 대한 자세한 내용은 CMake 3.19 릴리스 정보를 참조하세요.
  • 여러 lock/guard 형식을 STL에서 nodiscard로 표시했습니다. https://github.com/microsoft/STL/pull/1495
  • IntelliSense:
  • 이제 MSVC에서 이진 파일에 필요한 올바른 주소 삭제기 런타임을 확인합니다. Visual Studio 프로젝트에서 새로운 변경 내용을 자동으로 가져옵니다. 명령줄에서 주소 삭제기를 사용할 때 이제 컴파일러에 /fsanitize=address만 전달하면 됩니다.
  • 이제 Visual Studio의 연결 관리자가 ECDSA 퍼블릭 키 알고리즘을 사용하여 프라이빗 키를 지원합니다.
  • 설치 관리자에 포함된 LLVM 및 Clang의 버전이 v11로 업데이트되었습니다. 자세한 내용은 LLVM에 및 Clang 릴리스 정보를 참조하세요.
  • 이제 Visual Studio가 도구 체인 파일의 CMake 변수를 사용하여 IntelliSense를 구성합니다. 이를 통해 임베디드 개발과 Android 개발을 위한 향상된 환경이 제공됩니다.
  • 더 많은 Constexpr 컨테이너 제안을 구현하여 소멸자 및 새 식이 constexpr이 될 수 있습니다. 이를 통해 constexpr std::vector 및 std::string 같은 유틸리티를 사용할 수 있습니다.
  • 정의로 이동, 모듈로 이동 및 멤버 완성을 포함하여 C++20 모듈 IntelliSense에 대한 지원을 확장했습니다.
  • 이제 MSVC 컴파일러에서 약식 함수 템플릿을 지원합니다.

Javascript/TypeScript

  • 이제 WPF, WinForms, WinUI 3 프로젝트와 같은 애플리케이션의 Edge Chromium 기반 WebView2 JavaScript/TypeScript 디버깅이 지원됩니다. 프로젝트 속성 대화 상자에서 JavaScript 디버거를 선택하여 이 기능을 사용하도록 설정할 수 있습니다. 시작하는 자세한 방법은 여기를 참조하세요.

디버거

  • 교착 상태의 스레드를 검사하는 새 자동 분석기가 추가되었습니다.
스레드에서 교착 상태를 검사하는 자동 분석기
  • .NET Core 종료자 큐를 검사하고 잠재적인 차단 개체를 검색하는 새 자동 분석기를 추가했습니다.
.NET Core 종료자 큐를 검사하는 자동 분석기
  • 이제 Visual Studio는 디버거가 StackOverflow 예외에서 중지될 때 호출 스택에서 중복 반복 프레임을 필터링합니다. 이제 무한 재귀가 발생한 스택 베이스를 확인할 수 있으므로 이러한 종류의 버그를 더 쉽게 조사할 수 있습니다.
StackOverflow 예외에서 디버거가 중지될 때 호출 스택에서 중복 반복 프레임을 필터링합니다.

프로파일러

  • 더 빠르고(VSInstr이 필요하지 않음) PDB 없이도 .NET Core 애플리케이션을 계측할 수 있는 새로운 동적 계측 시나리오를 추가했습니다.
동적 계측 프로파일링

F# 및 F# 도구

이 릴리스에서는 Visual Studio용 F# 도구의 생산성 기능 및 성능이 몇 가지 향상되었습니다.

  • .NET Core FSI 지원
  • 함수 애플리케이션에 대한 시그니처 도움말
  • 14개의 빠른 수정
  • F# 도구에 대한 성능 및 응답성의 상당한 수정

자세한 내용은 Visual Studio 16.9용 F# 및 F# 도구 업데이트 또는 제품 릴리스 정보에서 확인할 수 있습니다.

.NET 생산성

  • 이제 전처리기 기호에 IntelliSense 완성 기능을 사용할 수 있습니다.
  • 이제 솔루션 탐색기에 새 .NET 5.0 소스 생성기가 표시됩니다.
  • 전체로 이동이 netcoreapp3.1 및 netcoreapp2.0에서 중복 결과를 표시하지 않습니다.
  • 이제 요약 정보에 컴파일러 경고 ID 또는 비표시 오류 수가 표시됩니다.
  • 이제 형식을 복사하여 새 파일로 붙여넣을 때 using 지시문이 자동으로 추가됩니다.
  • ;을 눌러 완성 목록에서 메서드를 수락하면 IntelliSense는 이제 개체 만들기 및 메서드 호출을 위해 세미콜론과 함께 괄호를 자동으로 삽입합니다.
  • C# 9.0 레코드를 위한 의미 체계 색 지정.
  • 불필요한 무시 항목을 제거하는 리팩터링.
  • 축자 문자열과 일반 문자열을 보간된 문자열로 변환하여 출력에 표시되어야 하는 중괄호를 유지하는 리팩터링.
  • ‘모듈’에 공유된 메서드를 변환할 때 shared 키워드를 제거하는 Visual Basic의 코드 수정.
  • 논쟁의 여지가 없는 시나리오에서 new(…) 사용을 제안하는 리팩터링
  • C# 및 Visual Basic 모두에 대해 중복 같음 식을 제거하는 코드 수정
  • 이제 빌드 시 .NET 코드 스타일(IDE) 분석기를 적용할 수 있습니다.
  • Syntax Visualizer는 향상된 색의 현재 전경색을 표시합니다.
  • pragma 경고에 대한 진단 ID를 가리킬 때의 새 도구 설명
  • 주석 내에서 리턴 키를 입력하면 이제 새 줄이 자동으로 주석 처리됩니다.
  • 인라인 매개 변수 이름 힌트 기능 향상
  • WSL 2를 사용한 .NET Core 디버깅

테스트 탐색기 오디오 큐 및 접근성 업데이트

  • 이제 테스트 탐색기를 사용하여 오디오 큐를 구성하고, 화면 읽기 프로그램에서 그룹화 방법 메뉴에 더 쉽게 액세스하며, 로그 파일을 직접 여는 클릭 가능한 링크를 통해 긴 테스트 출력을 보다 쉽게 볼 수 있습니다.

실험적 Razor 편집기 업데이트

  • HTML 및 C# 의미 체계 색 지정
  • 닫힌 Razor 파일에 반영된 C# 기호의 이름 변경
  • Razor 파일에 C# 전구 추가
  • Razor 파일에서 혼합 콘텐츠 서식 지정을 추가로 개선

.NET 웹 도구

웹 도구

  • 연결된 서비스로서의 Azure App Configuration에 대한 향상된 .NET 지원
  • Azure App Configuration을 연결된 서비스로 통합하여 애플리케이션의 구성 설정 및 기능 플래그를 관리

XAML 도구(WPF, WinUI, UWP, Xamarin.Forms)

MVVM 도구

  • 향상된 MVVM 지원: 이 릴리스에서는 사용 가능한 뷰 모델에서 속성과 명령을 생성하기 위해 XAML 편집기에 전구를 도입했습니다. 또한 XAML에서 디자인 DataContext를 사용 가능한 뷰 모델로 설정하여 바인딩 IntelliSense를 향상하는 데 도움이 되는 전구도 추가했습니다.

Xamarin.Forms

이 릴리스에서는 Xamarin.Forms 개발자를 위해 여러 가지 기능을 개선했습니다.

  • XAML 핫 다시 로드 “변경 전용” 모드는 이제 Xamarin.Forms 5.x 프로젝트의 기본값입니다. Visual Studio 16.9부터 XAML 핫 다시 로드 “변경 전용” 모드는 이제 Xamarin.Forms 5.x 이상을 대상으로 하는 프로젝트에 대한 기본 XAML 핫 다시 로드 환경입니다. 4.x를 대상으로 하는 프로젝트는 “변경 전용”이 Xamarin.Forms 5.x 이상과만 호환되므로 “전체 페이지” XAML 핫 다시 로드로 자동 대체됩니다. Xamarin.Forms 5.x를 사용하고 있는 경우 어떤 이유로 인해 이전 “전체 페이지” 핫 다시 로드 모드를 사용하려면 도구 > 옵션 > 디버깅 > 핫 다시 로드의 핫 다시 로드 설정으로 이동하면 됩니다.

  • 출력 창에서 XAML 핫 다시 로드 상태 업데이트: XAML 핫 다시 로드 사용하는 Xamarin.Forms 고객은 이제 출력 창을 사용하여 XAML 핫 다시 로드 파이프라인에서 발생하는 작업에 대한 자세한 내용을 볼 수 있습니다. 시작하려면 보기 > 출력을 사용하여 출력 창을 열고 창 맨 위에 있는 출력 보기 선택에서 Xamarin 핫 다시 로드를 선택합니다.

XAML 핫 다시 로드 - 출력 창 정보
  • Xamarin.Forms + UWP – 해결된 System.ExecutionEngineException: Visual Studio 2019 버전 16.8 릴리스부터 개발자가 Windows(UWP)를 대상으로 하는 Xamarin.Forms 앱을 디버깅할 때 System.ExecutionEngineException 오류를 트리거하는 런타임 예외가 실수로 도입되었습니다. 이 릴리스(16.9 미리 보기 4)부터 Microsoft.NETCore.UniversalWindowsPlatform NuGet(버전 6.2.12+)에 대한 업데이트와 함께 이 문제는 이제 해결되어야 합니다. 참고: 이 수정 사항은 Visual Studio 2019 버전 16.9에만 해당되지 않습니다. 새 NuGet 패키지를 사용하도록 프로젝트를 업데이트하면 Visual Studio 버전 16.9에서도 이 문제가 해결됩니다.

Unity용 도구

  • 로컬 창의 새 활성 장면 노드에서 디버그하는 동안 루트 게임 개체를 봅니다.
  • 로컬 창의 새 this.gameObject 노드에서 디버그하는 동안 GameObject의 모든 구성 요소를 봅니다.
  • 로컬 창의 자식 및 구성 요소 노드를 사용하여 모든 자식 게임 개체 및 구성 요소를 봅니다.
  • 활성 장면 속성에서 검사할 때 장면에서 GameObject의 위치를 확인합니다.
  • 소스 생성기에서 엔터티를 사용하는 경우 JobEntityBatch/람다를 지원합니다.
  • 인덱스 버킷팅을 사용하여 대규모 배열을 표시하도록 지원을 향상했습니다.
  • Raytrace 셰이더, UXML, USS 파일에 대한 구문 강조 표시가 지원됩니다.
  • 이제 Visual Studio에서 누락된 구성 요소를 검색하고 Unity 프로젝트를 사용할 때 구성 요소를 설치하라는 프롬프트를 표시합니다.
  • 코루틴으로 사용되는 모든 메서드에 대한 Unity 메시지 API가 업데이트되었습니다.

Git 생산성

  • 제품 팀으로 직접 안내하는 기본 제공 피드백 제공 링크를 사용하여 새로운 Git UX의 미리 보기 기능 플래그를 새로 고쳤습니다.
  • 팀 탐색기 홈 및 연결 페이지에는 새로운 Git UX로 전환에 대한 자세한 콘텐츠가 표시됩니다.
  • 분기 푸시 알림에서 사용자 지정 원격을 지원합니다.
  • Git 리포지토리 창에서 분기를 두 번 클릭하여 체크 아웃합니다.
  • 바로 가기 키 Ctrl+Enter를 사용하여 변경 내용을 커밋합니다.
  • Git 변경 내용 창에서 모든 태그를 푸시합니다.

Visual Studio 설치 관리자

  • Visual Studio 설치 관리자가 더 이상 시작 시 권한을 높이지 않음
  • 이제 Visual Studio 설치 관리자가 HDR 디스플레이를 지원함
  • Visual Studio 설치 관리자가 Navigator 화면 읽기 프로그램을 지원함
  • 설치 관리자 업데이트가 Visual Studio 업데이트로 간소화됨
  • Visual Studio 설치 관리자에 어두운 테마 지원이 추가됨

Visual Studio 2019 버전 16.9.0의 새로운 기능에 대한 자세한 정보

Git 생산성

  • Ctrl+Enter 바로 가기 키로 변경 내용 커밋
커밋할 Ctrl+Enter
Ctrl+Enter로 변경 내용 커밋
  • Git 변경 내용 창에서 모든 태그를 푸시합니다.
모든 태그 푸시
원격으로 모든 태그 푸시

.NET 생산성

  • WSL 2를 사용하는 .NET Core 디버깅을 통해 Visual Studio에서 WSL 2에 .NET Core 콘솔 및 웹 애플리케이션을 실행하고 디버그할 수 있습니다. 이를 통해 Linux 프로덕션 환경을 대상으로 하는 Windows 개발자는 충실도가 높은 로컬 디버깅 환경을 사용할 수 있습니다.
WSL 2를 사용한 .NET Core 디버깅
WSL 2를 사용한 .NET Core 디버깅
  • 이제 논쟁의 여지가 없는 시나리오에서 new(…) 사용을 제안하는 리팩터링이 있습니다. 커서를 필드 선언에 놓습니다. (Ctrl+.)을 눌러 빠른 작업 및 리팩터링 메뉴를 트리거합니다. ‘new(...)’ 사용을 선택합니다.
new(...) 사용 리팩터링
new(...) 사용 리팩터링
  • 이제 C# 및 Visual Basic 모두에 대해 중복 같음 식을 제거하는 코드 수정이 있습니다. 커서를 중복 같음 식에 놓습니다. (Ctrl+.)을 눌러 빠른 작업 및 리팩터링 메뉴를 트리거합니다. 중복 같음 제거를 선택합니다.
중복 같음 식 제거 코드 수정
중복 같음 식 제거 코드 수정
  • 이제 빌드 시 .NET 코드 스타일(IDE) 분석기를 적용할 수 있습니다. .NET 코드 스타일 분석기를 C#Visual Basic용 NuGet 패키지로 설치하거나 프로젝트 속성에서 사용하도록 설정할 수 있습니다. 프로젝트 속성에 액세스하려면 솔루션 탐색기 내에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다. 그런 다음 코드 분석 탭을 선택하고 빌드 시 CodeStyle 적용(실험적 기능)을 선택합니다.
.NET 코드 스타일 분석기를 사용하도록 설정하는 프로젝트 속성 창
.NET 코드 스타일 분석기를 사용하도록 설정하는 프로젝트 속성 창
  • Syntax Visualizer(.NET Compiler Platform SDK와 함께 설치됨)는 이제 향상된 색의 현재 전경색을 표시합니다. 이 시각화 도우미를 사용하여 색을 변경하려는 텍스트로 이동하거나 편집기에서 텍스트를 선택한 다음 분류된 색을 클릭하여 변경하면 됩니다.
Syntax Visualizer 색 지정
Syntax Visualizer 색 지정
  • 이제 pragma 경고에 대한 진단 ID를 가리킬 때 도구 설명이 표시됩니다. 진단 도구 설명에는 설명서를 탐색하는 클릭 가능한 링크도 있습니다.
Pragma 경고에 대한 진단 도구 설명
Pragma 경고에 대한 진단 도구 설명
  • 메모 내에서 반환 키를 입력하면 새 줄이 자동으로 주석 처리됨을 알 수 있습니다. 기본적으로 설정되는 새 옵션입니다. 새 줄이 자동으로 주석 처리되지 않도록 하려면 도구>옵션>텍스트 편집기>C# 또는 Basic>고급으로 이동하여 // 주석을 작성할 때 새 줄의 시작 부분에 // 삽입을 선택 취소합니다.

16.8 미리 보기 2에서는 함수 호출의 각 인수 앞에 리터럴, 캐스팅된 리터럴 및 개체 인스턴스화의 도구 영역을 삽입하는 인라인 매개 변수 이름 힌트를 추가했습니다. 이 릴리스에서는 다음과 같은 향상된 기능을 추가했습니다.

  • 삽입하려는 도구 영역 형식에 대한 추가 사용자 지정 옵션.

  • 유추된 형식 및 람다 매개 변수 형식의 변수에 대한 인라인 형식 힌트.

  • 매개 변수 이름이 메서드의 의도와 일치하고 매개 변수 이름이 접미사만 다른 경우 인라인 매개 변수 이름 힌트를 사용하지 않도록 설정하는 옵션.

  • 이제 형식을 복사하여 새 파일로 붙여넣을 때 using 지시문이 자동으로 추가됩니다. 먼저 ‘도구’>‘옵션’>‘텍스트 편집기’>C# 또는 Basic>‘고급’에서 이 옵션을 켜고 ‘붙여넣을 때 누락된 using 지시문 추가’를 선택해야 합니다.

붙여넣을 때 누락된 using 지시문 추가
붙여넣을 때 누락된 using 지시문 추가
  • ;을 눌러 완성 목록에서 메서드를 수락하면 IntelliSense는 이제 개체 만들기 및 메서드 호출을 위해 세미콜론과 함께 괄호를 자동으로 삽입합니다.
메서드 호출 작성
메서드 호출 작성
  • 이제 C# 9.0 레코드를 위한 의미 체계 색 지정이 가능합니다. ‘도구’>‘옵션’>‘환경’>‘글꼴 및 색’에서 색을 사용자 지정할 수 있습니다. ‘표시 항목’에서 ‘사용자 형식 – 레코드’로 스크롤하고 레코드에 적용할 색을 선택하면 됩니다.
레코드를 위한 의미 체계 색 지정
레코드를 위한 의미 체계 색 지정
  • C# 9.0에서 특정 패턴 일치 케이스에서 무시 항목이 불필요합니다. 이제 불필요한 무시 항목은 흐리게 표시하고 불필요한 무시 항목을 제거하는 코드 수정을 제공합니다. 흐리게 표시된 무시 항목 위에 커서를 놓습니다. (Ctrl+.)을 눌러 빠른 작업 및 리팩터링 메뉴를 트리거합니다. 불필요한 무시 항목 제거를 선택합니다.
불필요한 무시 항목 제거
불필요한 무시 항목 제거
  • 이제 축자 문자열과 일반 문자열을 보간된 문자열로 변환하여 출력에 표시되어야 하는 중괄호를 유지하는 리팩터링이 지원됩니다. 문자열이 상수에 할당된 경우에는 이 리팩터링이 제공되지 않습니다. 커서를 문자열에 놓습니다. (Ctrl+.)을 눌러 빠른 작업 및 리팩터링 메뉴를 트리거합니다. 보간된 문자열로 변환을 선택합니다.
중괄호를 유지하는 보간된 문자열로 변환
중괄호를 유지하는 보간된 문자열로 변환
  • ‘모듈’에 공유된 메서드를 변환할 때 shared 키워드를 제거하는 Visual Basic의 코드 수정이 적용되었습니다.

  • 이제 전처리기 기호에 IntelliSense 완성 기능을 사용할 수 있습니다. 범위에 현재 정의된 기호의 새로운 완성 옵션을 보려면 #if 지시어를 입력하기 시작합니다.

전처리기 기호의 IntelliSense 완성 기능
전처리기 기호의 IntelliSense 완성 기능
  • 이제 솔루션 탐색기가 분석기 노드 아래에 새로운 .NET 5.0 소스 생성기를 표시하므로 생성된 코드를 쉽게 탐색하고 볼 수 있습니다.
솔루션 탐색기의 소스 생성기 노드
솔루션 탐색기의 소스 생성기 노드
  • [모두로 이동] 창에는 netcoreapp3.1 및 netcoreapp2.0에서 중복된 결과와 다른 중첩된 형식을 래핑하기 위해서만 존재하는 부분 형식에 대한 결과가 표시되지 않습니다. 이렇게 하면 결과가 깔끔해져 쉽게 코드를 찾고 탐색할 수 있습니다. 이제 결과에 부분 기호의 파일 이름이 포함됩니다.
전체로 이동이 netcoreapp3.1 및 netcoreapp2.0에서 중복 결과를 표시하지 않습니다.
전체로 이동이 netcoreapp3.1 및 netcoreapp2.0에서 중복 결과를 표시하지 않습니다.
  • 이제 요약 정보에 컴파일러 경고 ID 또는 비표시 오류 수가 표시됩니다. 진단 ID의 요약 정보를 보려면 경고 ID 또는 숫자 위로 커서를 가져갑니다.
컴파일러 경고 ID 또는 비표시 오류 횟수에 대한 요약 정보
컴파일러 경고 ID 또는 비표시 오류 횟수에 대한 요약 정보

감사합니다.

마지막으로, 이번 달에 .NET 생산성(일명.NET 생산성)에 기여해 주신 다음 분들께 감사드립니다 . Roslyn:

.NET 웹 도구

  • Visual Studio Publish를 사용하여 Steeltoe 애플리케이션Azure Spring Cloud로 배포합니다(예: 마우스 오른쪽 단추 클릭 > 솔루션 탐색기에서 게시). 옵션이 표시되지 않는다면 프로젝트가 NuGet 패키지 Microsoft.Azure.SpringCloud.Client 버전 1.0.0-preview.1 이상을 포함하는지 확인하세요.
Steeltoe 애플리케이션을 Azure Spring Cloud에 배포
Steeltoe 애플리케이션을 Azure Spring Cloud에 배포

웹 도구

App Configuration을 연결된 서비스로 추가하면 애플리케이션이 Azure App Configuration 리소스에 자동으로 연결됩니다. 이제 .NET Core 콘솔 프로젝트용 코드 자동 생성뿐 아니라 .NET Framework 프로젝트용 NuGet 패키지 자동 추가가 지원됩니다. 이 연결된 서비스를 앱에 통합하려면 연결된 서비스를 클릭하고 Azure App Configuration을 서비스 종속성으로 추가합니다.

연결된 서비스에 앱 구성 추가
App Configuration을 연결된 서비스로 추가
  • 이제 연결된 서비스 탭에서 Azure App Configuration을 지원합니다. App Configuration을 사용하면 애플리케이션 설정 및 기능 플래그를 중앙에서 관리할 수 있습니다. 이 서비스 종속성을 추가하면 App Configuration 리소스에 연결하도록 코드가 자동으로 업데이트됩니다. 여기에는 최신 NuGet 패키지를 설치하고 로컬에 또는 Key Vault에 비밀을 저장하는 작업이 포함됩니다.
Azure 앱 구성을 사용하여 구성 관리
‘Azure App Configuration 서비스 연결을 사용하여 구성 관리’

Visual Studio 설치 관리자

고객 요청에 대응하여 Visual Studio 설치 관리자에 몇 가지 새로운 기능이 적용되었습니다.

많은 사용자가 설치 관리자를 사용하여 Visual Studio의 여러 복사본을 확인, 시작, 관리합니다. 이 사용 패턴을 지원하기 위해 Visual Studio 설치 관리자를 시작할 때 더 이상 권한 상승이 필요하지 않으며 Visual Studio와 머신에 변경 내용을 적용할 때만 권한 상승이 요구됩니다. 설치 구성 내보내기, 뉴스 탐색, 업데이트 세부 정보 보기와 같은 다른 작업에서는 더 이상 사용자가 먼저 권한을 상승할 필요가 없습니다.

이전 버전의 설치 관리자에서는 사용자에게 설치 관리자를 업데이트하려면 추가 단계를 수행하도록 요청하는 경우가 많았습니다. 이번 업데이트에서는 필수 설치 관리자 업데이트가 설치 작업의 일부로 처리되고 추가 단계가 제거되었습니다.

이제 설치 관리자에 어두운 모드 테마 선택 사항이 추가되었습니다. 사용자는 제목 표시줄의 해/달(☼/☽) 단추를 사용하여 설치 관리자의 테마를 변경할 수 있습니다. Visual Studio IDE 내에서 시작된 업데이트는 Visual Studio의 현재 테마 선택 사항을 사용합니다.

VS 설치 관리자의 어두운 테마 및 인라인 설치 관리자 업데이트
VS 설치 관리자의 어두운 테마 및 인라인 설치 관리자 업데이트

테스트 탐색기 오디오 큐 및 접근성 업데이트

  • 이제 테스트 탐색기는 테스트 실행이 완료될 때 소리를 재생할 수 있습니다. 테스트 실행이 모든 테스트를 통과하여 성공했음을 나타내는 소리와 테스트 실행이 하나 이상의 테스트에 실패하고 완료되었음을 나타내는 소리 중에서 선택할 수 있습니다. 이 기능은 사용자 요청으로 시작되었으며, 시각적 장애가 있는 개발자에게 유용한 오디오 큐를 추가하여 테스트 탐색기의 접근성을 향상시킵니다. 소리 선택은 기본 Windows 10 소리 대화 상자를 사용하여 미리 설정된 소리 또는 컴퓨터의 오디오 파일 중에서 선택할 수도 있습니다.
  • 이제 화면 읽기 프로그램으로 읽을 때 더 간결한 구와 단어 순서를 사용하여 테스트 탐색기의 그룹화 방법에 더 쉽게 액세스할 수 있습니다.
  • 이제 테스트 탐색기의 테스트 세부 정보 창에서 특수 문서 컨트롤 대신 로그 파일을 직접 여는 링크를 사용하여 긴 테스트 출력을 더 쉽게 볼 수 있습니다.

테스트 환경

  • Fakes를 사용하는 .NET Core 테스트 프로젝트에 대한 코드 검사 수집 지원이 추가되었습니다.
  • 여러 코드 검사 보고서를 병합하는 데 걸리는 시간이 단축되었습니다.

IntelliCode

  • 이제 IntelliCode는 IntelliSense 작성 목록 내에서 직접 반복적인 편집 제안을 제공합니다. 제안된 변경 내용의 미리 보기를 보고 해당 위치에 적용하거나 작성 항목에서 이러한 제안을 무시할 수 있습니다. IntelliCode 제안에 대해 자세히 알아보세요.

실험적 Razor 편집기 업데이트

  • HTML 및 C# 의미 체계 색 지정
  • 닫힌 Razor 파일에 반영된 C# 기호의 이름 변경
  • Razor 파일의 더 많은 C# 전구:
    • DebuggerDisplay 특성 추가
    • 속성 만들기 및 할당
    • 필드 만들기 및 할당
    • "with pattern"(예: "Dispose 패턴으로 인터페이스 구현")에 대한 지원을 포함하여 인터페이스 또는 추상 클래스를 구현합니다.
    • 같음, 해시 코드, 생성자 생성
  • Null 검사 추가 및 매개 변수에 대한 모든 null 검사 추가
  • Razor 파일에서 혼합 콘텐츠 서식 지정을 추가로 개선

실험적 Razor 편집기를 사용하도록 설정하려면 도구>옵션>환경>미리 보기 기능으로 이동한 후 Enable experimental Razor editor(실험적 Razor 편집기 사용)를 선택하고 Visual Studio를 다시 시작합니다.

Developer Community

Developer Community에 이 릴리스에서 제공하는 모든 항목을 보여 주는 전체 목록이 있습니다.

16.9.0에서 릴리스된 몇 가지 주요 문제 중 일부는 다음과 같습니다.


알려진 문제

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

피드백 및 제안

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


Blogs

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


Visual Studio 2019 릴리스 정보 기록

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


맨 위로 이동