Visual Studio 2015 업데이트 3 릴리스 정보
사용 조건 | Visual Studio 블로그 | 개발자 커뮤니티
참고 항목
이것은 최신 버전의 Visual Studio가 아닙니다. 최신 릴리스를 다운로드하려면 Visual Studio 2019용 현재 릴리스 정보를 방문하세요.
Visual Studio 2015 릴리스
Visual Studio 2015의 모든 버전에 대한 릴리스 정보를 볼 수 있습니다.
- 2016년 6월 27일 -- Visual Studio 2015 업데이트 3
- 2016년 3월 30일 -- Visual Studio 2015 업데이트 2
- 2015년 11월 30일 -- Visual Studio 2015 업데이트 1
- 2015년 7월 20일 -- Visual Studio 2015
Visual Studio 2015 다운로드
My.VisualStudio.com에서 Visual Studio 2015를 다운로드할 수 있습니다. My.VisualStudio.com을 사용하려면 무료 Dev Essentials 구독 또는 Visual Studio 구독이 필요합니다.
Visual Studio 2015 업데이트 3
릴리스 날짜: 2016년 6월 27일
이 릴리스의 새로운 기능 요약
- Apache Cordova용 도구
- 개발자 분석 도구
- 디버깅 및 진단
- Visual Studio IDE
- 유니버설 Windows 앱용 도구
- 아키텍처 도구
- Visual C++
- Visual Studio용 Node.js 도구
- Web 개발자 도구
- TypeScript
- C# 및 Visual Basic
- 팀 탐색기
- Xamarin
관련된 릴리스
이번 릴리스의 새로운 기능
Apache Cordova용 도구
참고 항목
Visual Studio 2015 업데이트 3과 함께 설치된 Node.js 버전이 만료되었습니다. 최신 릴리스로 업데이트하려면 Node.js 안전하게 업데이트하는 방법에 대해 자세히 알아보세요.
Visual Studio 2015 업데이트 3에는 아래의 향상된 기능을 포함하여 Apache Cordova용 도구 업데이트 10이 들어 있습니다. 및 업데이트 10. Microsoft 도구에 대한 최신 뉴스는 GitHub의 개발자 블로그를 참조하세요.
- 새 프로젝트의 기본 버전인 Cordova 6.1.1에 대한 지원이 추가되었습니다.
- Cordova 4.x에서 사용되던 Cordova 플러그 인 레지스트리는 더 이상 사용되지 않습니다. 즉, 이제 플러그 인을 추가하려면 Cordova 5.x 이상이 필요합니다.
- 코어 플러그 인 목록이 업데이트되었으며, Intune, Azure Engagement, 보안 및 SQLite 로컬 스토리지와 같은 엔터프라이즈 시나리오를 위한 플러그 인이 들어 있습니다.
- 이제 npm 패키지 이름 또는 ID별로 구성 디자이너에서 플러그 인을 추가할 수 있습니다.
- 또한 구성 디자이너에서 매개 변수가 필요한 플러그 인을 추가할 수 있습니다.
개발자 분석 도구
개발자 분석 도구 v7.0.2는 다음과 같이 더 개선되었습니다.
- 앱 원격 분석에서 추세를 찾을 수 있는 도구인 Application Insights 추세
- CodeLens의 예외 원격 분석
- 진단 도구의 예외에 프로덕션 원격 분석 정보가 추가됨
- Visual Studio에서 ASP.NET Core RC2 프로젝트에 Application Insights를 추가하는 기능 지원
- ASP.NET 5 RC1 및 ASP.NET Core RC2 프로젝트에 대한 진단 도구 이벤트
- 세부 필터, 시간 범위 및 이벤트가 선택된 경우 Application Insights 검색의 자동 새로 고침
- 검색의 요청에서 코드로 이동 사용 가능
- HockeyApp 로그인 환경이 개선됨
자세한 내용은 Microsoft Azure 설명서의 기술 릴리스 정보를 참조하세요.
디버깅 및 진단
업데이트 3에는 HoloLens, IOT 같이 OneCore 디바이스에서 실행되는 앱에 대한 진단 도구 지원 기능이 포함되어 있습니다.
C++ 편집하며 계속하기의 개선 사항:
- FASTLINK가 사용하도록 설정된 경우 성능 및 안정성이 향상되었습니다.
- 정적 라이브러리에 코드 변경 내용을 적용할 때 더 이상 부실 코드가 생성되지 않습니다.
- 다시 컴파일하는 동안 가양성 형식 변경에 대해 더 이상 C4656 경고가 표시되지 않습니다.
- 여러 컴파일 단위를 넘나드는 같은 이름의 새 형식을 추가하는 기능이 지원됩니다.
XAML UI 디버깅 개선 사항:
- 앱에서 포커스가 변경될 때마다 라이브 시각적 트리의 새로운 포커스 추적 기능으로 인해 라이브 시각적 트리의 선택이 현재 포커스가 있는 요소로 업데이트됩니다.
Visual Studio IDE
구독 및 제품 키
업데이트 3에서 다음과 같은 방법으로, 온라인 ID 또는 제품 키를 통해 구독을 사용하여 IDE를 잠금 해제하는 고객의 의견을 해결했습니다.
- 이제는 할당된 Visual Studio 클라우드 구독을 활성화하기 위해 https://my.visualstudio.com을 방문할 필요가 없으며, 구독을 할당받는 즉시 Visual Studio IDE를 사용하여 시작할 수 있습니다.
- 제품 키를 적용할 때 발생하는 오류 처리가 개선되었습니다.
- 모든 사용자 계정 및 라이선스 작업은 이제 HTTPS를 통해 보호됩니다.
- 구독을 활성화하고 제품 키를 입력하는 계정 설정 대화 상자의 접근성이 개선되었습니다.
- 이제는 개인 설정 계정을 활성 상태로 유지하고 로밍 설정을 동기화하기 위해 8일마다 재인증을 할 필요가 없습니다.
유니버설 Windows 앱용 도구
Visual Studio 2015 업데이트 3에는 유니버설 Windows 앱용 도구에 대한 몇몇 개선 사항이 포함되어 있습니다. 주요한 개선 사항은 Windows 스토어에 제출할 패키지를 만들 때 AAD 저장소 계정의 Azure Active Directory 자격 증명을 사용하여 로그인할 수 있다는 점입니다. 프로젝트를 Windows 스토어와 연결한 후에는 스토어에 제출할 패키지를 만들기 위해 더 이상 로그인할 필요가 없습니다.
유니버설 Windows 앱용 .NET 네이티브
.NET 네이티브 1.4는 보조 서비스 릴리스로, 성능을 높이고 고객이 보고한 몇몇 버그를 해결하며 대규모 앱의 릴리스 빌드 컴파일 시간을 개선해 줍니다. .NET 네이티브 1.4를 사용하는 XAML 애플리케이션 및 Unity 게임의 런타임 성능이 향상됩니다. 이렇게 개선할 수 있었던 것은 리플렉션과 네이티브 API 호출이 모두 빨라졌기 때문입니다.
아키텍처 도구
성능 및 안정성 개선에 대한 고객 피드백을 해결했습니다.
도메인 특정 그래픽 디자이너(EDMX 및 DBML 포함)
Windows 10에서 화상 키보드가 표시되어 있는 동안 큰 EDMX 또는 DBML 다이어그램을 열거나 편집하려고 할 때 이제는 Visual Studio가 응답하지 않습니다.
코드 맵
- 솔루션에 설치 관리자 프로젝트(.vdproj)가 있을 때 "솔루션용 코드 맵을 생성"하려고 하면 이제는 Visual Studio가 응답하지 않습니다.
- 코드 편집기에서 코드 맵 명령을 실행하고 코드 맵 창이 나타나자마자 창을 즉시 닫으면 이제는 Visual Studio가 응답하지 않습니다.
레이어 유효성 검사
- 솔루션을 빌드할 때 레이어 다이어그램으로 구성된 모델링 프로젝트와 유효성 검사 동작을 포함하면 이제는 빌드가 완성된 후에 CPU 코어가 사용되지 않습니다.
- 이제 부모 모델링 프로젝트가 PCL 라이브러리(예: ODP.Net)를 참조하는 경우 레이어 다이어그램의 유효성을 검사할 수 있습니다.
Visual Studio용 Node.js 도구
이제 Visual Studio용 Node.js 도구 1.2 RC를 다운로드할 수 있습니다. 이 릴리스를 사용하면 이전 릴리스의 메모리 부족 충돌이 줄어들고 안정성과 성능이 크게 높아질 것으로 예상됩니다.
그 외 중요 사항은 다음과 같습니다.
- ES6 IntelliSense의 속도와 성능 개선
- 더 안정된 디버깅
- 유닛 테스트 환경 개선(테이프 지원 포함)
- 더 다양한 프로젝트 형식에 .npm 명령 사용
전체 정보 및 다운로드 내용은 Node.js 도구 1.2 RC 릴리스 페이지를 참조하세요.
Web 개발자 도구
ASP.NET 웹 애플리케이션 프로젝트의 경우, "편집하며 계속하기 사용" 확인란이 선택 취소되어 있을 때 이제는 디버깅을 중지할 때마다 IIS Express 프로세스가 중지되지 않습니다.
Visual C++
업데이트 3에는 C# 및 Visual Basic 코딩에 대한 지원과 성능이 개선되었을 뿐 아니라 C++ 컴파일러에 대한 새 검사와 경고 메시지와 같은 고급 기능이 포함되어 있습니다.
C++ 컴파일러
- 이제 삭제된 Trivial 복사/이동 ctor의 액세스를 검사할 수 있습니다. 검사 없이는 기본값으로 설정된 복사 ctor을 잘못 호출하여(구현 형식이 잘못될 수 있음) 런타임에 잘못된 코드가 생성될 수 있습니다.
Std::is_convertible
은 이제 복사 생성자가 삭제되거나 private인 경우 클래스 형식의 자체 할당을 제대로 감지합니다.- Visual Studio 2008에서 시작된 특성 사용 ATL 지원의 사용 중단을 완료하는 마지막 단계로 컴파일러에 새로운 사용 중단 경고가 추가되었습니다. Visual Studio 2015 업데이트 3에서 특성 사용 ATL 코드를 사용할 경우 기본적으로 설정되어 있는 수준 1 경고가 발생합니다. C4467
- PCH 파일을 사용할 경우 -Yc 컴파일과 -Yu 컴파일 간에 컴파일러에 대한 일치하지 않는 -I include 디렉터리가 있으면 이제 새로운 경고가 발생합니다. C4599
- PCH 파일을 사용할 경우 -Yc 컴파일과 -Yu 컴파일 간에 소스 파일에 일치하지 않는 #include 지시문이 있으면 이제 경고가 발생합니다. C4598
이러한 변경 내용이 기존 코드에 미칠 수 있는 영향에 대한 자세한 내용은 MSDN의 Visual C++ Porting and Upgrading Guide(Visual C++ 포팅 및 업그레이드 가이드)를 참조하세요.
C++ 라이브러리
벡터<문자>처럼 업데이트 2에서 회귀된 사소한 개체의 범위를 삭제할 때 디버그 모드 성능을 복원했습니다.
C++17 작업 용지에서 P0185 [nothrow-]교환 가능한 특성 추가 제안 에서 교환 가능한 특성을 구현했습니다. 잘못된 C++17 기능으로,
/std:c++latest
로 컴파일할 경우 특성(is_swappable
,is_swappable_with
,is_nothrow_swappable
및is_nothrow_swappable_with
)만 표시되고std::swap
에 대한 제약 조건만 활성화됩니다.이전에 프로세스 시작 및 dllmain 중에 발생하던 ETW 이벤트 호출이 vcruntime140.dll 및 정적 라이브러리에서 제거되었습니다.
일반 시스템에서 std::vector 같은 STL 컨테이너에 사용되는 기호 이름과 길이를 이제는 사용하지 않기 때문에 C4503 경고의 발생 가능성이 줄어들었습니다. 예를 들어 다음 형식은 더 이상 경고를 생성하지 않습니다. 동시성::concurrent_unordered_map<wstring, 벡터<쌍<uint64_t, 벡터<uint8_t>>>>.
ATL/MFC/AMP/PPL: 다음과 같이 2단계 조회와 관련된 여러 가지 규칙이 수정되었습니다.
_com_ptr_t
에는 이제 이동 생성자와 이동 대입 연산자가 포함되어 있습니다.MFC: 64 비트 애플리케이션에서 가끔 메뉴가 제대로 표시되지 않게 하던 HMENU 값의 처리가 수정되었습니다.
ATL/MFC: 더 이상 다음 경고를 생성하지 않습니다.
함수 재정의/숨기기: C4263, C4264, C4266
일치하지 않는 예외 사양: C4986
/analyze: C6386
ATL: 이제 모든 AtlThrow 변형이
__declspec(noreturn)
으로 제대로 표시됩니다. 따라서 잘못된 SAL 경고가 발생하지 않습니다.ATL: 몇 가지 SAL 주석이 수정/개선되었습니다.
/std:c++latest
는 P0025R1 "clamp()", P0185R1 "is_swappable, is_nothrow_swappable" 및 P0272R1 "Non-const basic_string::data()."와 같은 새로운 기능을 사용할 수 있게 해줍니다./std:c++latest는 다음 이전 기능의 제거를 제어합니다. N4190 "auto_ptr 제거 random_shuffle(), 이전 <기능> 항목", P0004R1 "사용되지 않는 Iostreams 별칭 제거", LWG 2385 "function::assign 할당자 인수는 의미가 없습니다.", 다양한 비표준 기능(std::tr1 네임스페이스, 일부 TR1 전용 기계 및 std::identity 구조체).
x86의 원자성<int64_t>/원자성<uint64_t> 자동 잘못된 코드 생성이 수정되었습니다.
이제 STL은 반드시 필요한 경우를 제외하고는 스레드로부터 안전한 "매직 정적 이름"을 사용하지 않아 코드 생성이 개선됩니다.
이제 튜플의 완벽한 전달 생성자가 복사 생성자를 이기려고 하지 않으므로 특정 시나리오에서 컴파일러 오류가 수정되었습니다.
코루틴:
- 다음
__yield_value
__await
키워드가 사용되지 않습니다. 대신co_await / co_yield
를 사용하세요. coroutine_handle
클래스의to_address
및from_promise
멤버에 대한 사용 중단 알림이 추가되었습니다.coroutine_handle::to_address()
대신coroutine_handle::address()
를 사용하세요.coroutine_handle::from_promise(Promise *P)
대신coroutine_handle::from_promise(Promise &P)
를 사용하세요.
- 다음
memcmp 및 memchr에 더 적극적으로 디스패치하여
std::equal
및std::lexicographical_compare
의 성능을 높임에 따라 일부 시나리오에서 성능이 크게 향상되었습니다. 예를 들어 64비트 플랫폼인 경우 equal(char,char,char, char)로 작성했습니다.- 반복기 디버깅 기계에서 회계 장부 함수 호출 수를 줄여 디버그 빌드가 크게 향상되었습니다.
- string::p ush_back은 릴리스 빌드에서 40% 및 업데이트 2를 추가로 개선했으며 디버그 빌드가 훨씬 향상되었습니다. (이러한 성능 향상은 업데이트 2에서 제공된 큰 성능 향상에서 더 추가된 성능 향상입니다.)
- 몇 가지 형식의 빈 템플릿 메타 프로그래밍 지원 호출(예:
_Iter_cat
)을 제거하여 모든 표준 알고리즘에서 디버그 빌드가 향상되었으며, 조건자 복사본 수를 줄여 조건자를 사용하는 모든 알고리즘에서 디버그 빌드가 향상되었습니다. - 범위별
_ITERATOR_DEBUG_LEVEL
1 및 2 아래의std::mismatch
에서 가능한 경우 반복에 앞서 두 번째 범위를 검사합니다.
나머지 알고리즘에
_SCL_INSECURE_DEPRECATE
메시지에 대한 개선된 진단이 적용되었습니다(업데이트 2에서는 소수의 알고리즘만 새 사용 중단 메커니즘에 후크되었음). 또한 이로 인해 표준 알고리즘으로 디버그할 때 디버깅 환경이 개선되는데, 표준 알고리즘의 여러 복사본을 선언하는_ITERATOR_DEBUG_LEVEL
전처리기 상호 작용이 더 이상 없기 때문입니다. 또한 다음 문제도 해결되었습니다.- 비표준
_ITERATOR_DEBUG_ARRAY_OVERLOADS
와 이중 범위 알고리즘 사이의 상호 작용으로 인해 mismatch(iter, iter, T[])와 같은 일부 함수를 컴파일할 수 없었던 문제가 해결되었습니다.
- 비표준
STL에서 기본적으로 해제되어 있는 경고 C4242의 위반이 해결되었습니다.
std::pop_heap에서 가능한 정수 오버플로 버그가 수정되었습니다.
로캘 잠금을 유지하고 있는 동안 CLR에서 삽입한 LoadLibrary 호출로 인해 /clr:pure에서 중단이 발생할 수 있는 문제가 해결되었습니다.
C++/CLI 디버깅
- 순수 네이티브 앱에서만 지원하던 Natvis 같은 디버거 기능을 이제 C++/CLI 식 계산기에서 지원합니다. 이제는 혼합된 관리/네이티브 앱에서 변수 창(또는 datatip 내)에 개체를 나열하는 경우 개체는 형식 시각화 도우미에서 정의한 순수 네이티브 앱에서 확장되는 것처럼 확장됩니다.
Clang/C2 플랫폼 도구 집합
Clang 3.8 릴리스가 Clang/C2에 통합되었으며 64비트에서 호스트되는 도구 집합이 제공됩니다.
C++ MDD
최신 Android NDK 버전 R11C 및 현재 프로젝트를 대상 최신 NDK로 업그레이드하는 기능에 대한 지원이 제공됩니다.
TypeScript
Visual Studio 2015 업데이트 3에 TypeScript 1.8.34가 포함되었습니다. AngularJS를 사용하는 일부 대형 TypeScript 프로젝트에서 발생하는 메모리 부족 오류가 해결되었습니다.
C# 및 Visual Basic
메모리 사용 공간을 줄이고 코드 진단 성능을 향상하는 이 기능을 사용하면 이전 버전에서 발생한 많은 메모리 부족 충돌 오류가 줄어들 것입니다. 전체 솔루션에서 코드 진단 실행 성능이 향상되었습니다. 향상된 코드 진단 성능에 대해 자세히 알아보려면 MSDN의 How to: Enable and Disable Full Solution Analysis for Managed Code(방법: 관리 코드에 대해 전체 솔루션 분석 사용/사용 안 함) 페이지를 참조하세요.
다음과 같은 추가 개선 사항도 있습니다.
- NuGet 패키지에 대한 참조를 빠른 픽스로 추가하는 옵션:
- 도구 > 옵션 > 텍스트 편집기 > C# > 고급의 "Using 지시문"에서 이 옵션을 사용하도록 설정할 수 있습니다.
- .NET 플랫폼 표준을 대상으로 하는 이식 가능 클래스 라이브러리에 대한 지원이 개선되었습니다.
- C# GoTo 구현 및 모두 찾기 참조에 대한 성능이 추가로 개선되었습니다. 개체를 선택하고 마우스 오른쪽 단추를 클릭한 다음 메뉴에서 이 옵션을 선택하여 이렇게 할 수 있습니다.
- 문서/프로젝트/솔루션에 "모두 수정" 작업을 적용할 때 이제 진행률 표시줄이 표시됩니다.
- 대형 솔루션에서 C# 및 VB 프로젝트를 다시 로드할 때의 성능이 향상되었습니다. 자세한 내용과 팁은 Performance considerations for large solutions(대형 솔루션의 성능을 위해 고려해야 할 점)를 참조하세요.
Team Explorer
팀 탐색기에서 몇몇 버그가 수정되었습니다.
- Git 리포지토리에서 삭제된 파일의 내용을 볼 수 없습니다.
- 분기 기록을 볼 때 포커스가 최신 커밋이면 자식으로 이동 아이콘이 비활성화됩니다.
- Git.exe를 사용하여 분기를 변경할 때 Visual Studio가 충돌하거나 알 수 없는 상태가 되기도 합니다.
- Git 리포지토리에서 분기 기록을 볼 때 기록 그래프에서 강조 표시가 잘못 나타납니다.
- 팀 탐색기에서 분기를 만들 때 분기 만들기를 위한 Alt+B 바로 가기가 빌드 메뉴와 충돌합니다.
- 메모리 사용량이 많은 경우 사용 가능한 메모리보다 큰 개체의 압축을 풀려고 하면 Git에서 메모리 부족 오류 대신 "개체를 찾을 수 없습니다. 일치하는 느슨한 개체(<sha1>)가 없습니다"라는 오류가 발생합니다.
- 오류 메시지의 오타 "... 순서대로이 솔루션을 열어 ...".
- 분기 기록을 볼 때 기록에서 첫 번째 커밋을 마우스 오른쪽 단추로 클릭하면 Cherry Pick가 비활성화됩니다.
- 팀 탐색기에서 끌어오기 요청을 만들 때, 선택한 분기 대신에 현재 분기가 분기 페이지의 상황에 맞는 메뉴에 사용됩니다.
Visual Studio용 Xamarin
Visual Studio 2015 업데이트 3에는 이제 Xamarin 4.1이 포함됩니다. 여러 버그 수정 외에도 이 릴리스에서는 tvOS에 대한 지원 기능을 추가했고 iOS 자산 카탈로그 지원 기능을 개선했으며 XML 편집 환경도 개선했고 iOS 앱을 만들 때의 SSL/TLS 및 HttpClient 구현에 대한 선택기를 추가했습니다. 자세한 내용은 Xamarin 릴리스 정보를 참조하세요.