Visual Studio IconVisual Studio 2017 버전 15.6 릴리스 정보


개발자 커뮤니티 | 시스템 요구 사항 | 호환성 | 배포 가능한 코드 | 사용 조건 | 블로그 | 알려진 문제



참고 항목

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


지원 기간

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

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

Visual Studio 2017 버전 15.6 릴리스


15.6의 주요 새 기능 요약

15.6에서 해결된 주요 문제

다음은 고객이 신고한 문제 중 15.6에서 해결된 문제입니다.

고객이 보고한 문제 중 Visual Studio 2017 버전 15.6에서 해결된 문제를 모두 참조하세요.

The Developer Community Portal


15.6의 새로운 기능에 대한 세부 정보

Release Notes IconVisual Studio 2017 버전 15.6.0

2018년 3월 5일 릴리스

15.6의 새 기능

성능

15.6에서는 디자인 타임 빌드 결과가 캐시되는 시나리오를 위해 특별히 솔루션 로드 성능 개선을 계속 진행했습니다. 대규모 C# 및 Visual Basic 솔루션은 이미 컴퓨터에서 열린 적이 있을 경우 전보다 두 배 더 빨리 로드됩니다.

.NET Core 솔루션 로드

Microsoft는 .NET Core에 집중했으며, 랩 측정 결과에 따르면 고객은 평균적으로 20% 더 빠른 솔루션 로드 시간을 기대할 수 있습니다.

UI 응답성 알림

Visual Studio는 확장 프로그램이 성능 및 안정성에 미치는 영향에 대한 더 많은 투명성을 제공하기 위해 확장 프로그램이 무응답을 유발할 가능성이 있는지 확인하기 위해 실시간 분석을 수행합니다. 확장 프로그램이 정지를 유발한 것으로 확인될 경우 Visual Studio는 사용자가 의심스러운 확장 프로그램을 비활성화하거나 해당 확장 프로그램에 대한 향후 알림을 표시하지 않도록 해주는 알림을 표시합니다(그림 1).

UI Responsiveness notification with option to disable
(그림 1) 확장 프로그램을 비활성화하거나 향후 알림을 표시하지 않는 UI 응답성 알림 옵션

설치 및 설정

  • 이 릴리스에서는 관리 권한이 없는 사용자에게 비관리자가 오프라인 네트워크 설치를 만들 수 있는 Visual Studio 레이아웃을 만들 수 있게 해줍니다.
  • Visual Studio를 처음으로 설치하거나 웹에서 업데이트할 때 Visual Studio 설치 관리자에 대한 새롭고 더 투명한 설치 환경을 볼 수 있습니다. 내부적으로 변한 것은 없지만 새 환경은 현재 진행 현황을 단계별로 보여줍니다(그림 2).
Improved transparency setup for Visual Studio Installer
(그림 2) Visual Studio 설치 관리자의 더 투명해진 환경
설치를 일시 중지(그림 3)하고 나중에 다시 시작(그림 4)할 수 있는 기능을 추가했습니다.
Pause your installation
(그림 3) 설치 일시 중지
Resume your installation
(그림 4) 설치 다시 시작
설치 세부 정보

새로운 설치 정보(그림 5)를 통해 다운로드 크기, 다운로드 완료율, 다운로드 속도를 볼 수 있습니다. 또한 설치되는 패키지의 총 개수와 잔여 개수도 볼 수 있습니다.

참고 항목

설치를 일시 중지했다가 나중에 다시 시작하면 진행률은 다운로드 및 설치의 나머지 부분에 적용되며 이전 개수에서 시작되지 않습니다.

Installation details
(그림 5) 설치 정보
IDE 설치
  • Visual Studio에 확장 프로그램 및 업데이트 대신 설치 관리자로 직접 연결되는 업데이트 알림을 지원하여 업데이트 프로세스를 간소화했습니다.

  • "ASP.NET 및 웹 개발"과 ".NET Core 플랫폼 간 개발" 워크로드가 "웹 개발용 클라우드 도구"를 포함하도록 업데이트되었습니다. 이 구성 요소에는 Visual Studio 내에서 Azure Functions를 사용하는 데 필요한 모든 항목이 포함됩니다.

    참고 항목

    15.6 미리 보기 3 에서 미리 보기 4 이상으로 업데이트할 때 컴퓨터가 사용자에게 알리거나 확인하지 않고 자동으로 다시 시작될 수 있습니다.

편집기 개선 내용
  • 기본 키보드 매핑에 Edit.Duplicate의 바로 가기로 Ctrl+D를 추가했습니다. 이전 동시 누르기(Ctrl+E, V)도 여전히 작동하며, 모든 키보드 매핑 구성표에서 사용할 수 있습니다.
  • 선택 영역을 다음 논리 블록으로 연속적으로 확장할 수 있게 해주는 선택 영역 확장 명령을 추가했습니다. 현재 선택 영역을 확장하려면 Shift+Alt+= 바로 가기를 사용하고, 축소하려면 Shift+Alt+- 바로 가기를 사용할 수 있습니다.

F# 언어 및 도구 개선 사항

이 릴리스에는 F# 및 그 도구에 많은 개선 사항이 적용되었습니다. 그 중 가장 중요한 것은 .NET Core SDK 프로젝트와 관련이 있습니다. 항상 그렇듯이 여기에도 커뮤니티의 중요 기고물이 통합되었습니다.

향상된 F# 컴파일러 및 코어 라이브러리 기능
  • ncave, Vasily Kirichenko 및 Microsoft에 의한 버그 수정 및 성능 개선 사항.
  • F# 컬렉션은 이제 Saul Rennison에 의해 IReadonlyListIReadonlyDictionary를 구현합니다.
  • mjmckp에 의해 NativePtr.ByRef 지원이 추가되었습니다.
  • Onur Gumus에 의해 Async.StartImmediateAsTask 지원이 추가되었습니다.
  • Seq.transpose, Array.transpose패트릭 맥도날드에 의해 추가 된 List.transpose 지원.
  • .Item1/.Item2/etc를 더 이상 지원하지 않는 F# 코드에 정의된 System.Tuple 형식의 회귀가 수정되었습니다. 이러한 튜플 형식은 이제 F# 튜플 구문과 100% 동기화되므로 이러한 속성을 사용할 경우 경고가 표시됩니다. 자세한 내용은 연결된 끌어오기 요청을 참조하세요.
  • 정적으로 확인된 형식 매개 변수에 대한 유추 순서의 회귀 및 다른 버그 수정이 Gustavo Leon 및 Microsoft에 의해 해결되었습니다.
  • FSharp.Core for .NET Standard의 F# 형식에 대한 IsSerializable 속성이 활성화되었습니다. OptionAsync 같은 F# 형식은 이제 .NET Standard 및 .NET Core에 대해 직렬화할 수 있습니다.
  • 이 릴리스에서는 FSharp.Core 패키지가 버전 4.3.4로 업데이트되었으며 FSharp.Core의 모든 변경 사항이 포함되어 있습니다.
F# 도구 개선 사항
  • 위에/아래에 추가, 폴더 지원 및 프로젝트를 다시 로드하지 않고 Visual Studio UI 새로 고침 등 .NET Core SDK 기반 프로젝트의 파일 순서가 구현되었습니다.
  • .NET Core SDK 기반 프로젝트의 다중 대상 지정에 대한 지원이 구현되었습니다.
  • 이제 .NET Core SDK 기반 프로젝트에서 공유 파일이 지원됩니다.
  • F#/.NET Framework 프로젝트에서 .NET Standard 프로젝트를 참조할 수 없습니다.
  • Vasily KirichenkoEugene Auduchinok에 의한 오류 보고 개선 사항.
  • Vasily Kirichenko, Eugene Auduchinok, Daniel Wedelich 및 Microsoft에 의한 성능 개선 사항.
  • Vasily Kirichenko 및 Microsoft에 의한 여러 버그 수정과 더 정밀한 자동 완성.
  • 열려 있지 않은 네임스페이스의 정적 멤버를 완성에 사용할 수 있습니다(Vasily Kirichenko가 보고함).
  • 문서 요약 및 모든 참조 찾기에 네임스페이스 기호가 나타납니다(Vasily Kirichenko가 보고함).
  • 다른 편집기(VSCode, VS for Mac, Rider)에서 체계적인 지침 코드를 사용할 수 있게 되었습니다(Eugene Auduchinok가 보고함).
  • F# 생성자에 대한 더 간결하고 체계적인 지침(Eugene Auduchinok가 보고함).
  • Open 문이 더 이상 이름 단순화 분석기에서 단순화되지 않습니다(Vasily Kirichenko가 보고함).
  • 이제 QuickInfo에 sbytebyte IL 필드 표시가 지원됩니다(Vasily Kirichenko가 보고함).
  • 호출되지 않은 F# 함수 또는 메서드에서 사용되지 않은 선언 코드 수정이 더 이상 트리거되지 않습니다(Vasily Kirichenko가 보고함).
  • 이제 .NET Framework 프로젝트에서 폴더 간 끌어서 놓기가 지원됩니다(Paulo Nobre가 보고함).
  • 사용되지 않는 선언 분석기 및 코드 수정을 이제 전환할 수 있습니다.
  • 버그 수정 및 성능 향상(Eugene Auduchinok 및 Microsoft가 보고함).
  • #if INTERACTIVE로 둘러싸인 코드는 이제 형식 검사가 필요 없는 IDE 기능을 지원합니다(Eugene Auduchinok가 보고함).
  • 이전 버전의 F#/ASP.NET(.NET Framework) 프로젝트에서 빈 "새 파일" 창에 대한 수정의 우연한 회귀 문제가 해결되었습니다(Loïc Denuzière가 보고함).
F# 인프라 및 오픈 소스 개선 사항
  • 버전 관리 업데이트 RFC가 구현되었습니다.
  • 컴파일러 및 도구에서 사용되는 모든 지역화 파일이 GitHub에 제공되며, 커뮤니티 기고물을 수락할 수 있습니다.
  • 1시간 안에 야간 빌드가 생성될 수 있습니다(최장 4시간 소요).
  • Windows 10 SDK에서 오픈 소스 기고자에 대한 종속성을 제거했습니다.
  • 이제 F# 컴파일러 SDK에 위성 어셈블리 및 FSharp.Core.resources.dll이 포함됩니다.
  • 어셈블리 정보가 변경되지 않은 경우 Visual F# 코드베이스에 컴파일러가 더 이상 다시 빌드되지 않습니다.
  • 편집기 도구 디버깅 시 모든 기호 사용 결과를 더 쉽게 살펴볼 수 있도록 FSharpSymbolUseToString()이 구현되었습니다(Eugene Auduchinok가 보고함).

15.6 릴리스에 대한 전체 커밋 변경 로그를 보려면 태그를 참조하세요.

참고 항목

모든 기존 알려진 문제 및 Visual Studio 2017 버전 15.6에서 사용 가능한 해결 방법을 참조하세요.

Visual C++ 개선 사항

  • 이 릴리스에는 CVE-2018-1037에 설명된 PDB 보안 문제에 대한 해결 방안이 포함되어 있습니다.
  • 새 프로젝트 추가 대화 상자에서 CMake 프로젝트를 만듭니다.
  • 이제 Visual Studio에서 새로운 CMake 프로젝트를 열면 CMake 캐시를 자동으로 생성할지 여부를 선택할 수 있습니다.
  • CMake 프로젝트의 CTest, Google Test 및 Boost.Test 테스트는 테스트 탐색기에서 자동으로 검색 및 나열됩니다.
  • Boost.Test 항목 템플릿을 사용하여 Boost 단위 테스트를 프로젝트에 손쉽게 추가하세요. 부스트 단위 테스트는 이제 부스트 동적 라이브러리를 사용합니다.
  • C++17에 대한 지원으로 인해 복사 생략이 보장됩니다.
  • Android 개발을 위해 Android NDK r15c에 대한 지원이 기본으로 제공됩니다.
  • Oreo 디바이스에서 배포하고 실행하기 위해 SDK 수준 25 이하에서 빌드된 Android 앱용 Visual Studio Android 도구 내에서 지원이 제공됩니다.
  • stable_sort, partition, inline vector::emplace_back in parallel 및 <memory_resource> 같은 API 등 C++17 표준에 따른 C++17 표준 라이브러리 구현이 원활하게 진행 중입니다.
  • 누락된 포함 파일은 포함 경로에 명시적으로 추가되지 않았더라도 작업 영역 루트 아래에 있을 경우 C++ 폴더 열기에서 자동으로 검색됩니다.
  • 포함된 ARM GCC 지원에 디버그 옵션을 사용할 수 있습니다. 이진을 마우스 오른쪽 단추로 클릭하고, 디버그 및 시작 설정을 선택한 후, C/C++ 디버그 마이크로컨트롤러를 선택합니다.
  • ARM64에서 프로필 기반 최적화가 가능하고 완전히 지원됩니다.
  • 더욱 깔끔하게 유지 관리할 수 있고 보안이 강화된 코드를 만들기 위해 C++ Core Guidelines Check 확장에 더 많은 규칙이 추가되었습니다.
    • 수명을 다한 간접 참조의 사용을 감지하는 C++ Core Checker 확장 프로그램.
    • 정수 오버플로와 관련한 규칙과 C++ Core Guidelines의 추가 규칙을 적용하는 5가지 새로운 검사.
    • 이제 C++ Core Check에는 산술 오버플로를 검색하기 위한 코드 분석 규칙 집합이 포함됩니다.
  • 단일 파일 코드 분석 실행이 지원됩니다(또는 솔루션 탐색기에서 사용자의 파일 선택에 따라). 빌드 및 분석 메뉴가 정리되었습니다. "코드 분석 실행"이 더 이상 코드 생성을 실행하지 않아 분석 실행 속도가 빨라집니다.
  • 비활성 구성에 대한 IntelliSense 오류는 편집기에 보라색의 구불구불한 선으로 표시됩니다. 처리할 구성 수는 도구 > 옵션에서 구성할 수 있습니다.
  • 컴파일 시간이 크게 향상되었습니다.
    • 컴파일러는 LTCG에서 사전 증분 루프의 향상된 최적화와 상수 글로벌 데이터의 향상된 식별 및 전파를 통해 코드를 최적화하여 더 빨리 실행합니다.
    • 컴파일 시간이 15.5보다 더 짧아졌습니다. 컴파일러 프런트 엔드는 대부분 입력에서 3-5% 정도 더 빠릅니다. 코어 최적화 오버헤드 감소 덕분에 컴파일러 최적화 속도가 3% 더 빠릅니다. 또한 다시 설계된 데이터 구조 덕분에 대규모 LTCG 컴파일 속도가 10% 더 빠릅니다.
  • 전체 연결 시나리오에서 맵 파일 생성 오버헤드가 줄었습니다. 그래도 맵 파일 대신 PDB 파일을 사용하는 것이 좋습니다.
  • MSVC 컴파일러는 x86, x64, ARM 및 ARM64를 포함한 모든 아키텍처에서 /Qspectre 스위치를 지원합니다.

C# 컴파일러

C# 컴파일러는 이제 다음을 지원합니다.

  • CoreCLR의 컴파일러 서버(빌드 처리량 성능을 위해).
  • CoreCLR의 강력한 이름 서명(/keyfile 옵션, 모든 OS).

여러 버그 수정과 한 가지 주요 변화(진행 중인 주요 변화 목록 참조) 외에 7.2 언어 기능에 대한 두 가지 사소한 언어 변경이 있었습니다.

Visual Studio Tools for Xamarin

이 릴리스에는 Xamarin.iOS 11.8 및 Xamarin.Android 8.2가 포함되어 있습니다.

iOS 시뮬레이터를 사용한 실시간 XAML 미리 보기

Xamarin Live Player를 통해 개발자는 Visual Studio와 iOS 또는 Android 디바이스만 사용하여 직접 자신의 앱을 계속해서 배포, 테스트 및 디버그할 수 있습니다. Visual Studio 2017 버전 15.5에는 개발자가 다시 컴파일하거나 다시 배포하지 않고 Android 에뮬레이터에서 바로 실시간 XAML 변경 사항을 미리 볼 수 있는 기능이 추가되었습니다. 이 릴리스는 Windows용 원격 iOS 시뮬레이터에 이 기능을 제공합니다.

Python

이 릴리스의 경우 설치된 패키지에서 IntelliSense를 받기 위해 더 이상 완성 데이터베이스가 필요하지 않게 되었습니다(그림 6). 즉, 패키지를 설치한 후 최대 4시간까지 기다리는 대신 단 몇 초 만에 numpypandas 같은 주요 패키지에서 완성 데이터베이스를 받을 수 있습니다.

Python completions for the pandas package
(그림 6) pandas 패키지를 위한 Python 완성 데이터베이스

클래스나 함수에서 사용되는 문서 문자열과 re 라이브러리에 대한 호출의 일부로 감지된 정규식 패턴에 사용되는 색상을 사용자 지정하는 기능을 추가했습니다(그림 7). 이는 도구 > 글꼴 > 색상, "Python 설명서" 및 "Python 정규식"에서 변경할 수 있습니다.

Example of highlighted doc-string and regular expression
(그림 7) 강조 표시된 문서 문자열 및 정규식의 예

마지막으로, Anaconda 사용자를 위해 Conda의 통합 및 검색을 실험하는 중입니다. 사용하도록 설정할 경우 Visual Studio에 Conda 환경이 자동으로 나타나고, pip가 아닌 Conda를 사용하여 패키지를 관리할 수 있습니다. 자세한 내용은 Visual Studio 15.6의 Python을 위한 새로운 기능 블로그 게시물을 참조하세요.

디버깅 및 진단

CPU 사용량 도구

CPU 사용량 도구가 비동기 코드에 대한 논리 호출 스택을 표시할 수 있습니다(즉, '비동기 호출 스택 연결')(그림 8).

  • 논리 호출 스택(예: '연결된 호출 스택')을 보려면 CPU 사용량 도구의 필터 드롭다운 메뉴에서 "비동기 코드 연결" 설정을 켭니다.

  • 부모 함수 또는 작업을 대신하여 실행 중인 비동기 코드가 호출 트리 및 호출자/호출 수신자 보기에 자식으로 표시됩니다.

  • 이 변경으로 인해 더 쉽게 비동기 코드를 탐색하고 성능 특징을 이해할 수 있습니다.

    참고 항목

    이 기능은 몇 가지 비동기 코드 패턴에 대한 논리 호출 스택을 생성하는 데 시간이 오래 걸릴 수 있습니다. 필요한 경우 분석을 취소하고 설정을 끌 수 있습니다. 이 동작은 ALT-F2 성능 프로파일러 시작 페이지를 사용하여 사후 평가 스타일 의 프로파일링을 수행하는 동안만 사용할 수 있습니다. 디버깅 중에 CPU 사용량 도구를 사용하면 논리 호출 스택이 표시되지 않습니다.

Logical Call Stack Tree with Call Stack Stitching in effect
(그림 8) 호출 스택 연결이 적용된 논리 호출 스택 트리

이제 CPU 사용량 도구(진단 도구 창과 ALT-F2 성능 프로파일러에서 F5 디버깅 중에 사용 가능)는 특정 코드 줄의 CPU 소비에 따라 소스 줄을 강조 표시합니다(그림 9).

  • CPU 사용량 도구의 호출 트리 또는 호출자/호출 수신자 보기를 볼 때는 선택된 함수의 소스와 함수의 각 소스 줄에 표시된 CPU 소비량이 함께 표시됩니다.

  • 함수의 CPU 성능이 중요할 경우 이제 함수가 실행 중일 때 함수의 정확히 어떤 소스 줄이 CPU 소비량에 영향을 주는지 확인할 수 있습니다.

    참고 항목

    이 기능을 사용하려면 프로젝트 설정에 의해 제어되는 생성된 PDB에 소스 정보가 포함되어야 합니다. 소스 정보가 없는 PDB 프로젝트는 줄 특성이나 원본 파일을 표시하지 않습니다.

CPU Usage tool with source line highlighting
(그림 9) 소스 줄을 강조 표시하는 CPU 사용량 도구
스레드 이름 지원

사용자 피드백에 따라 디버거는 이제 덤프 디버깅에서 SetThreadDescription API를 통해 설정된 스레드 이름을 표시할 수 있습니다. 이 기능을 사용하려면 Windows 10 Fall Creators Update 또는 이후 빌드에서 덤프가 수집되어야 합니다.

스냅샷 디버거

Azure App Service에서 실행 중인 ASP.NET 애플리케이션을 사용하고 있는 경우에 Snappoint 또는 Logpoint를 사용하려면 디버그 대상 드롭다운(그림 10)에서 "스냅샷 디버거(Azure App Service)"를 선택하면 됩니다.

Start Snapshot Debugger for ASP.NET application
(그림 10) ASP.NET 애플리케이션을 위한 스냅샷 디버거 시작

.NET 생산성

15.6 미리 보기 2에는 디컴파일된 소스로 이동할 수 있는 기능이 추가되었습니다. 이 기능을 사용하도록 설정한 후 모든 참조된 형식이나 멤버에서 정의로 이동 또는 정의 피킹을 호출하면 ILSpy 디컴파일을 통해 재구성된 메서드 본문과 정의가 표시됩니다. 이 기능을 켜려면 도구 > 옵션 > 텍스트 편집기 > C# > 고급 > 디컴파일된 소스에 탐색을 사용하도록 설정으로 이동합니다(그림 11).

Navigate to decompiled sources
(그림 11) 디컴파일된 소스로 이동

또한 두 가지 .NET EditorConfig 옵션도 추가되었습니다.

  • dotnet_prefer_inferred_tuple_names
  • dotnet_prefer_inferred_anonymous_type_member_names

참고 항목

모든 .NET 코딩 규칙 옵션을 보려면 EditorConfig에 대한 .NET 코딩 규칙 설정을 확인해 보세요.

Visual Studio Web Tools

  • 솔루션 탐색기에는 사용자가 솔루션 탐색기에 관련 파일이 표시되는 방식을 제어할 수 있게 해주는 "파일 중첩"이라는 .NET Core 프로젝트용 새 기능이 있습니다.
  • 프로젝트 게시 환경이 업데이트되었습니다.
  • 새 프로젝트 대화 상자에서 다음을 수행합니다.
    • .NET Framework의 버전을 선택할 수 있는 드롭다운이 대화 상자 아래쪽으로 이동되었으며 더 이상 템플릿의 필터로 사용되지 않습니다.
    • "웹" 노드에서 "웹 사이트"라는 하위 노드의 이름이 "이전 버전"으로 바뀌었습니다.
  • WebForms 및 MVC 5 프로젝트에 대한 디버그 드롭다운:
    • 사용자가 Azure App Service에서 배포하는 앱의 스냅샷 디버거를 선택할 수 있습니다.
    • ASP.NET Core 프로젝트와 동일한 브라우저 선택 제스처를 지원하도록 업데이트되었습니다.

지속적인 업데이트 도구

소스 제어 중인 솔루션의 경우 팀 탐색기에서 지속적인 업데이트 타일을 클릭하여 애플리케이션의 자동화된 빌드 및 배포를 구성할 수 있습니다.

지속적인 업데이트 도구 구성
  • 소스 제어 공급자로 TFVC에 대한 지원을 추가했습니다. VSTS TFVC 팀 프로젝트에서 소스 제어 중인 솔루션에 대한 지속적인 업데이트를 구성할 수 있습니다(그림 12).
Configure Continuous Delivery for projects in a VSTS TFVC project
(그림 12) VSTS TFVC 프로젝트의 프로젝트에 대한 지속적인 업데이트 구성
  • SSH를 통한 Git 인증에 대한 지원을 추가했습니다. SSH 인증이 활성화된 VSTS 또는 GitHub Git 리포지토리에서 소스 제어 중인 솔루션에 대한 지속적인 업데이트를 구성할 수 있습니다.

  • 컨테이너화된 프로젝트에 대한 지원을 도입했습니다. Linux의 Azure App Service(Web App for Containers)를 대상으로 하는 ASP.NET Core 프로젝트 및 도커 지원을 통해 솔루션에 지속적인 업데이트를 구성할 수 있습니다(그림 13). 지속적인 업데이트 구성 대화 상자는 Azure 구독 아래에 항목이 존재하지 않을 경우 기본적으로 Linux에서 새 Azure App Service(Web App for Containers) 및 Azure Container Registry를 만듭니다.

Configure Continuous Delivery to Azure dialog for App Service on Linux
(그림 13) Linux에서 App Service에 대한 Azure로 지속적인 업데이트 구성

팀 탐색기

Git 태그 지원

Git 태그에 대한 지원을 추가했습니다. 이제 태그를 만들고, 삭제하고, 끌어올 수 있습니다. 태그 페이지에서 리포지토리의 모든 태그를 보고, 태그에서 새 분기를 만들 수 있습니다. 이는 UserVoice에서 가장 많은 요청을 받은 기능 중 하나였습니다.

Visual Studio Team Services 사용자는 끌어오기 요청 분기를 체크 아웃할 수 있습니다. 이 기능을 사용하면 보다 쉽게 끌어오기 요청을 검토하고, 변경 사항을 테스트하고, 코드를 빌드할 수 있습니다.

유니버설 Windows 플랫폼 개발자를 위한 도구

Windows 10 Insider Preview SDK(빌드 17095)는 유니버설 Windows 플랫폼 개발 워크로드와 함께 선택적 구성 요소로 설치할 수 있습니다.

확장성

여러 Visual Studio 실행 파일(devenv.exe, blend.exe, wdexpress.exe 및 vsga.exe)을 위한 파일 버전은 부 릴리스(예: 15.6.*)를 나타냅니다.

참고 항목

어떠한 기능에도 영향을 주지 않지만 실행 파일 버전 번호에 의존하는 외부 코드를 업데이트해야 할 수 있습니다.

테스트 탐색기

새로운 계층 구조 보기

Visual Studio의 테스트 탐색기에 테스트를 프로젝트, 네임스페이스, 클래스별로 정리하는 계층 구조 보기(그림 14)가 새로 생겼습니다. 이 보기는 테스트 탐색기 창 위쪽에서 묶는 방법 단추 옆에 있는 계층 구조 단추를 사용하여 켜고 끌 수 있습니다.

Test Explorer Hierarchy View
(그림 14) 테스트 탐색기 계층 구조 보기

이 기능은 테스트를 훨씬 더 쉽게 탐색할 수 있게 해줄 뿐만 아니라 테스트에 대한 더 나은 피드백을 한눈에 볼 수 있게 해줍니다.

  • 계층 구조의 “부모 노드”(프로젝트, 네임스페이스 및 클래스)는 실패한 테스트가 하나 이상 있을 경우 실패한 테스트 아이콘을 표시합니다.
  • 또한 그룹화에 포함된 테스트 수를 요약하는 숫자도 부모 노드 뒤에 옵니다. 부모 노드의 오른쪽에 표시되는 시간(밀리초)은 기간은 해당 그룹 내 테스트를 실행하는 데 걸린 총 시간입니다.
실시간 테스트 검색

관리되는 프로젝트를 빌드하지 않아도 실시간 테스트 검색(그림 15)을 사용하면 테스트가 자동으로 검색됩니다. 이렇게 하면 테스트 탐색기가 테스트 추가, 제거 또는 편집과 같은 코드 변경 사항과 동기화 상태로 유지됩니다. 위에 설명된 계층 구조 보기 기능이 모든 유형의 프로젝트에 사용할 수 있는 것과 달리, 자동 테스트 검색 기능은 C# 및 Visual Basic 프로젝트에만 사용할 수 있습니다.

Xamarin Live Player
(그림 15) Xamarin Live Player 연결, 배포 및 실시간 편집 모드의 애니메이션
Win10 IoT Core 테스트 지원

Win10 IoT Core 애플리케이션 테스트에 대한 지원을 도입했습니다. 이제 이러한 UWP 애플리케이션에 대한 테스트를 디바이스에 배포하고, 디바이스에서 디버깅하고 실행할 수 있습니다. 또한 테스트는 테스트 탐색기에 완전히 통합됩니다. VSTS CI를 통해 배포 및 실행 지원도 제공됩니다. 따라서 Win10 IoT Core 애플리케이션은 Visual Studio 내 편집, 컴파일, 디버그, 테스트 주기와 Visual Studio Team Services 내 연속 통합 워크플로에서 완벽한 지원을 제공합니다.

Win10 IoT Core Testing
(그림 16) Win10 IoT Core 테스트

Visual Studio Build Tools

Visual Studio Build Tools를 사용하여 모든 Visual Studio를 설치하지 않고도 빌드 서버를 만들 수 있습니다. 설치 관리자는 이미 데스크톱 프로젝트에 C++, ASP.NET 및 .NET Core를 지원합니다. 고객의 요청에 부응하여 추가 프로젝트 형식을 지원하도록 Visual Studio Build Tools를 개선하는 중입니다. 이 릴리스에는 TypeScript 및 Node.js 프로젝트에 대한 지원이 추가되었습니다. 향후 릴리스에서 더 많은 프로젝트 형식에 대한 지원을 추가할 예정입니다. 이는 이 릴리스에 대한 Visual Studio Build Tools의 다운로드 위치입니다.

Visual Studio ClickOnce 도구

ClickOnce는 설치 및 실행이 가능하고 자동 업데이트 기능을 갖춘 Windows 기반 애플리케이션을 최소한의 사용자 작업 만으로 만들 수 있게 해주는 배포 기술입니다. ClickOnce에서는 인증서를 사용하여 애플리케이션 게시자의 신뢰성을 확인하고 애플리케이션 및 배포 매니페스트에 서명하여 파일이 훼손되지 않았음을 증명합니다. 이 릴리스에는 Cryptography Next Generation(CNG) 인증서를 사용하여 애플리케이션 및 매니페스트에 서명할 수 있는 지원 기능이 추가되었습니다.

Key Vault

Visual Studio 15.6을 위한 기본 제공 Azure 서비스 인증 확장 프로그램을 추가했습니다. 따라서 Microsoft.Azure.Services.AppAuthentication 라이브러리를 사용하는 프로젝트가 Visual Studio 계정을 사용하여 Key Vault 같은 Azure 리소스에 액세스할 수 있습니다.

자동 macOS 프로비전

Windows에서 Visual Studio를 사용하여 iOS 앱을 빌드하기가 더 쉬워졌습니다. 이 릴리스는 자동 macOS 프로비전이라는 새로운 기능을 추가합니다. Mac 빌드 컴퓨터를 수동으로 유지 관리할 필요 없이 Mac에 연결하기만 하면 Visual Studio에서 올바른 Xamarin.iOS 및 모노 비트를 사용하여 빌드 컴퓨터를 설치하고 구성하는 힘든 작업을 처리합니다.

iOS Wi-Fi 배포

개발자가 Windows의 Visual Studio에서 iOS 앱을 완전히 테스트하고 디버그할 수 있게 해주는 원격 iOS 시뮬레이터는 무료 Community Edition을 비롯한 모든 버전의 Visual Studio(버전 15.5 기준)에서 사용할 수 있습니다. 이 시뮬레이터는 위치 시뮬레이션, 회전, 제스처 같은 기능을 지원하며 Mac의 iOS 시뮬레이터가 지원하지 않는 멀티 터치 같은 기능도 제공합니다. Windows에서 iOS 앱을 빌드하는 개발자에게는 훌륭한 시뮬레이터 환경을 제공하는데 디바이스는 어떨까요? Visual Studio 2017 버전 15.6을 사용하면 케이블 없이 Wi-Fi 배포를 사용하여 네트워크를 통해 iOS 앱을 배포할 수 있습니다. Xcode에서 무선 디바이스를 설정하면 일반적인 배포 대상처럼 Visual Studio에 표시됩니다.


Release Notes IconVisual Studio 2017 버전 15.6.1 서비스 업데이트

2018년 3월 8일 릴리스

15.6.1에서 해결된 주요 문제

다음은 고객이 신고한 문제 중 이 릴리스에서 해결된 문제입니다.


Release Notes IconVisual Studio 2017 버전 15.6.2 서비스 업데이트

2018년 3월 13일 릴리스

15.6.2의 업데이트 요약

CVE-2018-0875: .NET Core용 Microsoft 보안 권고

Microsoft는 악의적인 파일이나 웹 요청이 DoS(Denial of Service) 공격을 유발할 수 있다는 .NET Core 공개 버전의 보안 취약점을 알고 있습니다.

Important

시스템 관리자는 .NET Core 런타임을 버전 1.0.10, 1.1.7 및 2.0.6으로 업데이트하는 것이 좋습니다. 개발자는 .NET Core SDK를 버전 1.1.8 또는 2.1.101으로 업데이트하는 것이 좋습니다.

15.6.2에서 해결된 주요 문제

다음은 고객이 신고한 문제 중 이 릴리스에서 해결된 문제입니다.


Release Notes IconVisual Studio 2017 버전 15.6.3 서비스 업데이트

2018년 3월 19일 릴리스

15.6.3의 업데이트 요약

CVE-2018-0875: .NET Core용 Microsoft 보안 권고

Microsoft는 악의적인 파일이나 웹 요청이 DoS(Denial of Service) 공격을 유발할 수 있다는 .NET Core 공개 버전의 보안 취약점을 알고 있습니다.

Important

시스템 관리자는 .NET Core 런타임을 버전 1.0.10, 1.1.7 및 2.0.6으로 업데이트하는 것이 좋습니다. 개발자는 .NET Core SDK를 버전 1.1.8 또는 2.1.101으로 업데이트하는 것이 좋습니다.

15.6.3에서 해결된 주요 문제

다음은 고객이 신고한 문제 중 이 릴리스에서 해결된 문제입니다.


Release Notes Icon Visual Studio 2017 버전 15.6.4 서비스 업데이트

2018년 3월 22일 릴리스

15.6.4에서 해결된 주요 문제

다음은 고객이 신고한 문제 중 이 릴리스에서 해결된 문제입니다.


Release Notes Icon Visual Studio 2017 버전 15.6.5 서비스 업데이트

2018년 4월 4일 릴리스

15.6.5에서 해결된 주요 문제

다음은 고객이 신고한 문제 중 이 릴리스에서 해결된 문제입니다.


Release Notes Icon Visual Studio 2017 버전 15.6.6 서비스 업데이트

2018년 4월 10일 릴리스

15.6.6의 업데이트 요약

CVE-2018-1037: Microsoft Visual Studio 정보 공개 취약성에 대한 Microsoft 보안 권고

Visual Studio에서 PDB(프로그램 데이터베이스) 파일을 컴파일하는 동안 초기화되지 않은 메모리의 제한된 콘텐츠를 잘못 공개하는 경우 정보 공개 취약성이 존재합니다. 이 정보 공개를 활용하는 공격자는 PDB 파일을 컴파일하는 데 사용되는 Visual Studio 인스턴스에서 초기화되지 않은 메모리를 볼 수 있습니다.

취약성을 활용하려면 공격자가 취약한 버전의 Visual Studio를 사용하여 만든 영향을 받는 PDB 파일에 액세스해야 합니다. 공격자는 개발자가 이 정보 공개를 강제로 생성하도록 할 방법이 없습니다.

보안 업데이트는 프로젝트가 컴파일될 때 PDB 파일이 생성되는 방법을 수정하여 취약성을 해결합니다.

Important

자세한 내용은 CVE-2018-1037의 보안 업데이트를 참조하세요.

15.6.6에서 해결된 주요 문제

다음은 고객이 신고한 문제 중 이 릴리스에서 해결된 문제입니다.

  • 이 릴리스에서는 솔루션을 처음 로드할 때 일부 Application Insights 사용자에게 CodeLens 요청 및 예외 표시기가 표시되지 않는 문제를 해결합니다.

Release Notes Icon Visual Studio 2017 버전 15.6.7 서비스 업데이트

릴리스 날짜: 2018년 4월 26일

15.6.7의 업데이트 요약

  • VS는 Git 작업을 실행할 때 더 빠르게 응답합니다.
  • /debug:fastlink PDB를 사용한 대형 솔루션 디버깅이 더 강력해졌습니다. PDB/DIA 변경에 따라 충돌이 발생하는 데 사용된 VS 디버거에서 지연 시간이 줄어들고 힙 메모리 사용량이 30% 감소합니다.

15.6.7에서 해결된 주요 문제

다음은 고객이 신고한 문제 중 이 릴리스에서 해결된 문제입니다.

  • C++ 컴파일러 버그 수정:
    • SSA 최적화 프로그램에서 저장소를 지나서 함수 호출을 __finally 처리기에서 사용되는 변수로 잘못 싱크하는 문제가 수정되었습니다.
    • SSA 최적화 프로그램에서 때때로 음수 오프셋이 있는 위치에서 메모리 로드를 잘못 분석하는 문제가 수정되었습니다.
    • 최적화 프로그램에서 사전 증가 루프를 사후 증가 루프로 잘못 변환하는 문제가 수정되었습니다. 이는 ICU 프로젝트를 컴파일하는 것으로 밝혀졌습니다.
  • Java™ Development Kit 8, 업데이트 172(JDK 버전 8u172)까지 지원합니다.

알려진 문제

언제나 여러분의 의견을 기다리고 있습니다. 최신 문제를 찾고, 새 문제를 기록하고, 기존 문제를 추천하려면 개발자 커뮤니티 사이트를 방문하세요. 모든 기존 알려진 문제 및 Visual Studio 2017 버전 15.6에서 사용 가능한 해결 방법을 참조하세요.

Visual Studio 2017 Known Issues


피드백 및 제안

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


Blogs

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

Developer Tools Blogs


Visual Studio 2017 릴리스 정보 기록

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


맨 위로 이동