Visual Studio 2017 버전 15.0 릴리스 정보 Visual Studio 2017 version 15.0 Release Notes

마지막 업데이트 2018-01-31

개발자 커뮤니티 | 시스템 요구 사항 | 호환성 | 배포 가능한 코드 | 사용 조건 | 블로그 | 릴리스 리듬Developer Community | System Requirements | Compatibility | Distributable Code | License Terms | Blogs | Release Rhythm


참고

Visual Studio 2017에 대한 최신 정보를 보려면 현재 릴리스 정보 페이지를 참조하세요.To see information on the latest version of Visual Studio 2017, please visit the current Release Notes page.

참고

페이지 아래쪽에 있는 바닥글로 이동하여 언어 설정을 전환할 수 있습니다.You can switch your language setting by going to the footer at the bottom of the page. 아이콘을 클릭하고 원하는 언어를 선택합니다.Click on the icon and select your desired language.


사용자 의견Feedback

Microsoft는 여러분의 의견을 기다리고 있습니다!We’d love to hear from you! 문제가 있으면 설치 관리자나 Visual Studio IDE 자체의 오른쪽 위에서 문제 보고 옵션을 통해 알려주세요.For issues, let us know via the Report a Problem option in the upper right-hand corner of either the installer or the Visual Studio IDE itself. 오른쪽 위 모서리에 Feedback Icon 아이콘이 있습니다.The Feedback Icon icon is located in the upper right-hand corner. Visual Studio 개발자 커뮤니티에서 문제를 추적하고 질문을 하고 대답을 찾을 수 있습니다.You can track your issues in the Visual Studio Developer Community, where you can ask questions and find answers. UserVoice를 통해 제품을 제안하거나 실시간 채팅 지원을 통해 무료 설치 도움을 받을 수도 있습니다.You can also make a product suggestion through UserVoice or get free installation help through our Live Chat support.


릴리스 날짜: 2018년 1월 9일 - Visual Studio 2017 버전 15.0(26228.21)Release Date: January 9, 2018 - Visual Studio 2017 version 15.0 (26228.21)

해결된 문제Issues Fixed

.NET Core용 Microsoft 보안 권고 Microsoft Security Advisories for .NET Core

  • CVE-2018-0786 X509 인증서 유효성 검사의 보안 기능 우회 Microsoft는 .NET Core 1.0 및 1.1, 그리고 2.0의 공용 버전에서 취약성에 관한 정보를 제공하기 위해 이 보안 권고를 출시합니다.CVE-2018-0786 Security Feature Bypass in X509 Certificate Validation Microsoft is releasing this security advisory to provide information about a vulnerability in the public versions of .NET Core 1.0 and 1.1, and 2.0. 이 권고는 또한 개발자가 자신의 응용 프로그램을 올바르게 업데이트하기 위해 수행할 수 있는 지침을 제공합니다.This advisory also provides guidance on what developers can do to update their applications correctly. 이 보안 권고는 UWP용 .NET 네이티브에도 적용됩니다.This security advisory is also applicable to .NET native for UWP.

    Microsoft는 공격자가 특정 사용에 대해 잘못 표시된 인증서를 제공할 수 있으나 구성 요소에서 이를 해당 용도로 사용하는 .NET Core 공용 버전의 보안 취약성을 알고 있습니다.Microsoft is aware of a security vulnerability in the public versions of .NET Core where an attacker could present a certificate that is marked invalid for a specific use, but a component uses it for that purpose. 이 작업은 확장된 키 사용 태깅을 무시합니다.This action disregards the Enhanced Key Usage tagging.

    보안 업데이트는 .NET Core 구성 요소가 인증서의 유효성을 완전히 검사함으로써 취약점을 해결합니다.The security update addresses the vulnerability by ensuring that .NET Core components completely validate certificates. 시스템 관리자는 .NET Core 런타임을 버전 1.0.9, 1.1.6 및 2.0.5로 업데이트하는 것이 좋습니다.System administrators are advised to update their .NET Core runtimes to versions 1.0.9, 1.1.6 and 2.0.5. 개발자는 .NET Core SDK를 버전 2.1.4 또는 1.1.7로 업데이트하는 것이 좋습니다.Developers are advised to update their .NET Core SDK to version 2.1.4 or 1.1.7.

  • CVE-2018-0764 XML 문서 구문 분석 시 서비스 거부 Microsoft는 .NET Core 1.0 및 1.1, 그리고 2.0의 공용 버전에서 취약성에 관한 정보를 제공하기 위해 이 보안 권고를 출시합니다.CVE-2018-0764 Denial of Service when parsing XML documents Microsoft is releasing this security advisory to provide information about a vulnerability in the public versions of .NET Core 1.0 and 1.1, and 2.0. 이 권고는 또한 개발자가 자신의 응용 프로그램을 올바르게 업데이트하기 위해 수행할 수 있는 지침을 제공합니다.This advisory also provides guidance on what developers can do to update their applications correctly.

    Microsoft는 .NET Core의 모든 공용 버전에서 잘못된 XML 문서 처리로 인한 서비스 거부 취약점에 대해 알고 있습니다.Microsoft is aware of a Denial of Service vulnerability in all public versions of .NET core due to improper processing of XML documents. 이 취약점을 악용하는 공격자는 .NET 응용 프로그램에 대한 서비스 거부로 이어질 수 있습니다.An attacker who successfully exploited this vulnerability could cause a denial of service against a .NET application. 인증되지 않은 원격 공격자가 .NET Core 응용 프로그램에 특별히 구성된 요청을 발행하여 이 취약점을 악용할 수 있습니다.A remote unauthenticated attacker could exploit this vulnerability by issuing specially crafted requests to a .NET Core application.

    업데이트는 .NET Core에서 XML 문서를 처리하는 방법을 수정하여 취약점을 해결합니다.The update addresses the vulnerability by correcting how .NET core handles XML document processing. 시스템 관리자는 .NET Core 런타임을 버전 1.0.9, 1.1.6 및 2.0.5로 업데이트하는 것이 좋습니다.System administrators are advised to update their .NET Core runtimes to versions 1.0.9, 1.1.6 and 2.0.5. 개발자는 .NET Core SDK를 버전 2.1.4 또는 1.1.7로 업데이트하는 것이 좋습니다.Developers are advised to update their .NET Core SDK to version 2.1.4 or 1.1.7.


릴리스 날짜: 2017년 12월 6일 - Visual Studio 2017 버전 15.0(26228.18)Release Date: December 6, 2017 - Visual Studio 2017 version 15.0 (26228.18)

해결된 문제Issues Fixed

ASP.NET Core 보안 권고 ASP.NET Core Security Advisories

Microsoft는 ASP.NET Core에 대한 보안 권고를 릴리스했습니다.Microsoft has released security advisories for ASP.NET Core. 자세한 내용은 ASP.NET Core 리포지토리에 있는 해당 공지 사항에서 확인할 수 있습니다.Details can be found in corresponding announcements in the ASP.NET Core repo. 다음 정보를 확인하세요.Please note the following information:

  • CVE-2017-8700 CORS 바이패스로 정보 유출이 있을 수 있습니다. ASP.NET 코어 1.0 및 1.1에는 CORS(Cross-Origin Resource Sharing)를 우회하여 정보 유출로 이어질 수 있는 보안 취약점이 있습니다.CVE-2017-8700 CORS bypass can enable Information Disclosure: There is a security vulnerability in ASP.NET Core 1.0 and 1.1 where Cross-Origin Resource Sharing (CORS) can be bypassed, leading to information disclosure.

ASP.NET Core 1.0 및 ASP.NET Core 1.1로 만든 새로운 프로젝트는 이제 위의 보안 업데이트가 포함된 패키지 버전을 사용합니다.New projects created with ASP.NET Core 1.0 and ASP.NET Core 1.1 will now use package versions that include the above security update. 기존 프로젝트의 경우 사용자는 NuGet 패키지 관리 대화 상자를 사용하여 패키지를 최신 버전으로 업데이트 할 수 있습니다.For existing projects, users can update their packages to newer versions using the Manage NuGet Packages dialog.


릴리스 날짜: 2017년 11월 14일 -- Visual Studio 2017 버전 15.0(26228.17)Release Date: November 14, 2017 - Visual Studio 2017 version 15.0 (26228.17)

해결된 문제Issues Fixed

.NET Core 및 ASP.NET Core 보안 권고 .NET Core and ASP.NET Core Security Advisories

Microsoft는 .NET Core 및 ASP.NET Core에 대한 보안 권고를 릴리스했습니다.Microsoft has released security advisories for .NET Core and ASP.NET Core. 자세한 내용은 .NET CoreASP.NET Core 리포지토리에 있는 해당 공지 사항에서 확인할 수 있습니다.Details can be found in corresponding announcements in the .NET Core and ASP.NET Core repos. 다음 정보를 확인하세요.Please note the following information:

  • CVE-2017-8585 잘못된 형식의 인증서로 인해 서비스 거부가 발생할 수 있습니다. .NET Core 1.0, 1.1 및 2.0에는 변형된 인증서 또는 기타 ASN.1 형식의 데이터로 인해 Linux 및 macOS의 무한 루프를 통해 서비스 거부가 발생할 수있는 보안 취약점이 있습니다.CVE-2017-8585 Malformed Certificate can cause Denial of Service: There is a security vulnerability in .NET Core 1.0, 1.1 and 2.0 where a malformed certificate or other ASN.1 formatted data could lead to a denial of service via an infinite loop on Linux and macOS. 시스템 관리자는 .NET Core 런타임을 버전 1.0.8, 1.1.5 및 2.0.1로 업데이트하는 것이 좋습니다.System administrators are advised to update their .NET Core runtimes to versions 1.0.8, 1.1.5 and 2.0.1. 개발자는 .NET Core SDK를 버전 2.0.3 또는 1.1.5로 업데이트하는 것이 좋습니다.Developers are advised to update their .NET Core SDK to version 2.0.3 or 1.1.5.

  • CVE-2017-8700 CORS 바이패스로 정보 유출이 있을 수 있습니다. ASP.NET 코어 1.0 및 1.1에는 CORS(Cross-Origin Resource Sharing)를 우회하여 정보 유출로 이어질 수 있는 보안 취약점이 있습니다.CVE-2017-8700 CORS bypass can enable Information Disclosure: There is a security vulnerability in ASP.NET Core 1.0 and 1.1 where Cross-Origin Resource Sharing (CORS) can be bypassed, leading to information disclosure.

  • CVE-2017-11879 오픈 리디렉션으로 권한 상승이 발생할 수 있습니다. 오픈 리디렉션이 존재하는 ASP.NET Core 2.0에는 권한 상승으로 이어질 수 있는 보안 취약점이 있습니다.CVE-2017-11879 Open Redirect can cause Elevation Of Privilege: There is a security vulnerability in ASP.NET Core 2.0 where an Open Redirect exists, leading to Elevation Of Privilege.

  • CVE-2017-11770 서비스 거부 취약점: 잘못된 요청으로 인해 서비스 거부가 발생할 수있는 Windows Http.Sys를 통해 응용 프로그램을 호스팅할 때 ASP.NET Core 1.0, 1.1 및 2.0에 보안 취약점이 있습니다.CVE-2017-11770 Denial Of Service Vulnerability: There is a security vulnerability in ASP.NET Core 1.0, 1.1 and 2.0 when the application is hosted through Windows Http.Sys where a malformed request can lead to a Denial Of Service.

ASP.NET Core 1.0 및 ASP.NET Core 1.1로 만든 새로운 프로젝트는 이제 위의 보안 업데이트가 포함된 패키지 버전을 사용합니다.New projects created with ASP.NET Core 1.0 and ASP.NET Core 1.1 will now use package versions that include the above security updates. 기존 프로젝트의 경우 사용자는 NuGet 패키지 관리 대화 상자를 사용하여 패키지를 최신 버전으로 업데이트 할 수 있습니다.For existing projects, users can update their packages to newer versions using the Manage NuGet Packages dialog.


릴리스 날짜: 2017년 9월 18일 - Visual Studio 2017 버전 15.0(26228.16)Release Date: September 18, 2017 - Visual Studio 2017 version 15.0 (26228.16)

해결된 문제Issues Fixed


릴리스 날짜: 2017년 5월 23일 - Visual Studio 2017 버전 15.0(26228.13)Release Date: May 23, 2017 - Visual Studio 2017 version 15.0 (26228.13)

해결된 문제Issues Fixed

  • 오프라인 설치 시나리오에는 더 이상 인터넷 액세스가 필요하지 않습니다.Offline install scenarios no longer require internet access.

릴리스 날짜: 2017년 3월 31일 - Visual Studio 2017 버전 15.0(26228.12)Release Date: March 31, 2017 - Visual Studio 2017 version 15.0 (26228.12)

업데이트 요약Summary of Updates

  • 이제 Visual Studio 2017용 Xamarin.VS 확장에서 Xcode 8.3, iOS 10.3, watchOS 3.2 및 tvOS 10.2 도구와 API를 지원합니다.We now support Xcode 8.3, iOS 10.3, watchOS 3.2, and tvOS 10.2 tools and APIs in the Xamarin.VS Extension for Visual Studio 2017.

릴리스 날짜: 2017년 3월 28일 - Visual Studio 2017 버전 15.0(26228.10)Release Date: March 28, 2017 - Visual Studio 2017 version 15.0 (26228.10)

해결된 문제Issues Fixed

다음은 고객이 신고한 문제 중 빌드 26228.10에서 해결된 문제입니다.These are the customer-reported issues addressed in build 26228.10:


릴리스 날짜: 2017년 3월 14일 - Visual Studio 2017 버전 15.0(26228.09)Release Date: March 14, 2017 - Visual Studio 2017 version 15.0 (26228.09)

해결된 문제Issues Fixed

다음은 고객이 보고한 문제 중 빌드 26228.09에서 해결된 문제입니다.These are the customer-reported issues addressed in build 26228.09:


릴리스 날짜: 2017년 3월 7일 - Visual Studio 2017 버전 15.0(26228.04)Release Date: March 7, 2017 - Visual Studio 2017 version 15.0 (26228.04)

업데이트 요약Summary of Updates

개발: 빠르게 코드 탐색, 작성 및 수정Develop: Navigate, write, and fix your code fast

  • 새로운 설치 환경은 더욱 빠르고 다양한 사용자 지정 설치에 적합하도록 최소 공간을 줄였으며, 오프라인 설치를 지원합니다.New Installation Experience has a reduced minimum footprint for faster and more customizable installations, as well as support for offline installs.
  • Visual Studio IDE는 시작 및 솔루션 로드 시간 단축, 로그인 및 ID 개선, 향상된 코드 탐색, 폴더 뷰 열기, 연결된 서비스 등 Visual Studio 2017의 광범위한 향상 기능을 제공하여 온-프레미스 또는 클라우드의 서비스와 앱을 연결할 수 있도록 합니다.Visual Studio IDE provides a broad range of enhancements in Visual Studio 2017, including reduction in startup and solution load times, sign in and identity improvements, improved code navigation, open folder view, and connected services enable connections between your app and any service on-premises or in the cloud.
  • Visual C++ 2015와 2017 간에는 크게 달라진 점이 없습니다.There are no breaking changes for Visual C++ between 2015 and 2017. C++ 14 규칙 수준, CMake 지원, 빌드 처리량 및 편집기의 생산성이 향상되었습니다.Better C++14 conformance level, CMake support, build throughput, and productivity in the editor.
  • C# 및 Visual Basic에서는 새로운 C# 7.0 및 Visual Basic 15 언어 기능에 대한 지원이 확장되고 하나의 동작으로 소스 코드를 구성할 수 있는 새로운 리팩터링이 도입되었습니다.C# and Visual Basic extend support for new C# 7.0 and Visual Basic 15 language features, and introduces new refactorings that allow you to organize source code with one action.
  • F#은 F# 4.1 언어에 대한 지원, F# 컴파일러 및 FSharp.Core의 향상된 기능 및 Roslyn 작업 영역을 기반으로 한 새 편집기를 지원합니다.F# support for F# 4.1 language features, improvements to the F# compiler and FSharp.Core, and a new editor based on Roslyn Workspaces.
  • JavaScript 및 TypeScript에는 Visual Studio의 모든 TypeScript 프로젝트에서 사용할 수 있는 TypeScript 2.1이 제공됩니다.JavaScript and TypeScript has TypeScript 2.1 available for all TypeScript projects in Visual Studio. 새로운 JavaScript 언어 서비스가 제공되며 기본적으로 활성화됩니다.A new JavaScript language service is available and enabled by default.

디버그: 간단하게 디버그, 프로파일링 및 진단Debug: Debug, profile, and diagnose with ease

  • 디버깅 및 진단 기능으로 예외 도우미로 자세히 조사하고, 실행하려면 클릭을 통해 코드를 빠르게 탐색할 수 있습니다.Debugging and Diagnostics overhaul of the Exception Helper and faster code navigation with Run to Click. 또한 진단 도구 창의 응용 프로그램 이벤트 요약 및 CPU 도구에 여러 향상된 기능이 새로 추가되었습니다.Plus, a new summary of your application events in the Diagnostic Tools window and several improvements to the CPU Tool.

테스트: 테스트 도구를 사용하여 고품질 코드 작성Test: Write high-quality code with comprehensive testing tools

  • Live Unit Testing으로 이제 편집기에서 유닛 테스트 결과 및 코드 검사를 실시간으로 시각화할 수 있습니다.Live Unit Testing can now visualize unit testing results and code coverage live in the editor.
  • 테스트 도구는 테스트 탐색기를 사용하여 테스트 사례 작업 항목에 자동화를 연결합니다.Testing Tools associate automation with test case work items using the Test Explorer.

공동 작업: 버전 제어 사용, 민첩하게 대처, 효율적으로 공동 작업Collaborate: Use version control, be agile, and collaborate efficiently

  • 팀 탐색기의 새로운 Git 기능 및 업데이트된 연결 환경에서는 Visual Studio 2017에서 Git을 사용하여 더 많은 작업을 수행하고, 연결하려는 프로젝트 및 리포지토리를 쉽게 찾을 수 있습니다.New Git features in Team Explorer and updated connect experience to do more with Git in Visual Studio 2017 and easily find the projects and repos to which you want to connect.
  • 향상된 Visual Studio 피드백 워크플로에서는 보다 협력적인 문제 보고 기능을 제공합니다.Enhanced Visual Studio Feedback Workflow has more collaborative Report-A-Problem. 검색하고, 팔로우하고, 응답하여 모든 피드백에 대한 최신 업데이트를 받을 수 있습니다.Search, follow, and vote to get latest updates on all feedback.

확장: 고유한 확장을 빌드하여 기호에 맞게 사용자 지정Extend: Customize to your liking by building your own extensions

  • Visual Studio 확장: 고유한 확장을 빌드하여 기호에 맞게 Visual Studio를 사용자 지정할 수 있습니다.Visual Studio Extensions: Customize Visual Studio to your liking by building your own extensions.
  • 프로젝트 및 항목 템플릿의 검색 기능: 템플릿 검색 성능을 개선하기 위해 Visual Studio에서 프로젝트 및 항목 템플릿을 사용하는 방식이 크게 변경되었습니다.Discoverability of Project and Item Templates: There is a breaking change with how Visual Studio consumes project and item templates to improve performance of template discovery.

장착: 도구를 활용하여 생산성 향상 및 새로운 기능 탐색Equip: Utilize tooling to increase productivity and explore new capabilities

  • .NET Core 및 ASP.NET Core: 새로운 MSBuild 기반 .NET Core 도구의 1.0 최종 릴리스가 포함되어 있습니다..NET Core and ASP.NET Core: This contains the 1.0 final release of the new MSBuild based .NET Core Tools. Visual Studio 2017을 사용하여 .NET Standard 라이브러리, .NET Core 앱/라이브러리, 새로운 csproj 형식을 사용하는 ASP.NET 웹 프로젝트를 만들 수 있습니다.Using Visual Studio 2017, you can create .NET Standard libraries, .NET Core apps/libraries, and ASP.NET web projects that use the new csproj format.
  • 유니버설 Windows 앱 개발 도구: 업데이트에는 새로운 버전의 .NET 네이티브 도구 체인, .NET Core NuGet 프레임워크, 새로운 생산성 도구 및 Windows 10 "크리에이터 업데이트" SDK에 대한 지원이 포함되어 있습니다.Tools for Universal Windows App Development: Updates include a new version of the .NET Native toolchain, .NET Core NuGet framework, new productivity tools, and support for the Windows 10 "Creators Update" SDK.
  • Xamarin: Xamarin 4.3에서는 tvOS에 대한 지원이 추가되었으며 iOS 자산 카탈로그 지원 및 XML 편집 환경도 개선되었습니다.Xamarin: Xamarin 4.3 adds support for tvOS, while also improving iOS Assets Catalog support and the XML editing experience.
  • Visual Studio Tools for Apache Cordova: 브라우저 기반의 새 시뮬레이터로 코딩을 빠르게 작성하고 결과를 즉시 확인할 수 있습니다.Visual Studio Tools for Apache Cordova: A new browser-based simulator enables you to code fast and see the results immediately.
  • Visual Studio용 Node.js 도구: 업데이트는 안정성, 성능 및 전반적인 제품 품질에 중점을 두고 있습니다.Node.js Tools for Visual Studio: Updates focused on stability, performance, and overall product quality.
  • Visual Studio Tools for Unity: 이제 새로운 Visual Studio 설치 관리자에서 "Unity를 사용한 게임 개발" 작업을 통해 Visual Studio Tools for Unity 3을 사용할 수 있습니다.Visual Studio Tools for Unity: Visual Studio Tools for Unity 3 is now available with the "Game Development with Unity" workload from the new Visual Studio installer.
  • Redgate 데이터 도구: DevOps 기능을 SQL 데이터베이스 개발로 확장하기 위해 이제 Visual Studio에 Redgate ReadyRoll Core, SQL 검색 및 SQL Prompt Core로 구성된 Redgate 데이터 도구가 포함되어 있습니다.Redgate Data Tools: To extend DevOps capabilities to SQL database development, Visual Studio now includes Redgate Data Tools, comprising Redgate ReadyRoll Core, SQL Search, and SQL Prompt Core.
  • NuGet - 이제 NuGet에서 전이적 패키지 참조의 고급 기능을 유지하는 동시에 패키지 종속성 정보를 직접 프로젝트 파일에 패키지 참조로 저장하는 기능을 지원합니다.NuGet: NuGet now supports storing package dependency information directly in project files as package references, while maintaining the advances of transitive package references.
  • XAML 앱용 도구: 이제 XAML 런타임 도구 모음을 통해 포커스를 추적할 수 있습니다.Tools for XAML Apps: The XAML runtime toolbar now lets you track focus. XAML 편집하며 계속하기, XAML 편집기의 향상된 기능 및 성능 최적화를 통해 XAML 생산성이 향상되었습니다.XAML productivity has been improved with XAML Edit & Continue, improvements to the XAML Editor, and performance optimizations.
  • Data Tools 및 SQL Server: SQL Server Data Tools의 최신 업데이트에서는 Azure SQL Database 및 SQL Server 2016의 최신 기능이 지원됩니다.Data Tools and SQL Server: The latest update of SQL Server Data Tools enables support for the newest features in Azure SQL Database and SQL Server 2016.
  • 개발자 분석 도구: Visual Studio 2017에는 Visual Studio의 Application Insights 및 HockeyApp 기능에 대한 많은 향상된 기능과 개발자 분석 도구 v8.6이 포함되어 있습니다.Developer Analytics Tools: Visual Studio 2017 includes Developer Analytics Tools v8.6 with many improvements to the Application Insights and HockeyApp features in Visual Studio.
  • Visual Studio용 Office 개발자 도구: 최신 기능과 업데이트를 제공하는 Office 개발자 도구가 포함되어 있습니다.Office Developer Tools for Visual Studio: Includes Office Developer Tools with the latest features and updates.
  • 라이브 아키텍처 종속성 유효성 검사: 종속성 유효성 검사 다이어그램(즉, 레이어 다이어그램)의 실시간 알림.Live Architecture Dependency Validation: Real-time notifications of dependency validation diagrams (aka Layer diagrams).
  • 개발자 명령 프롬프트: 새로운 설치 환경을 지원하도록 스크립트가 리팩터링되었습니다.Developer Command Prompt: Refactored scripts to support the new installation experience.
  • .NET용 Azure SDK: 이제 새로운 Visual Studio 설치 관리자에서 사용할 수 있습니다.Azure SDK for .NET: Now available from the new Visual Studio installer.

이 버전의 새로운 기능What's New in this Version

설치 환경 Installation Experience

처음부터 새로 디자인된 새로운 설치 관리자를 소개합니다.We're delighted to introduce our new installer, which was designed from the ground up to:

  • Visual Studio의 최소 설치 공간이 줄어들었습니다.Reduce the minimum footprint of Visual Studio.
  • 시스템에 대한 영향 없이 보다 신속하게 설치하고 깔끔하게 제거할 수 있습니다.Install more quickly, with less system impact, and uninstall cleanly.
  • 필요한 기능만 보다 쉽게 선택하여 설치할 수 있습니다.Make it easier for you to select and install just the features you need.

Visual Studio 2017을 처음 설치할 때 새로운 환경을 볼 수 있습니다(그림 1).When you first install Visual Studio 2017, you'll see the new experience (Figure 1):

The new installation experience in Visual Studio 2017

(그림 1)Visual Studio 2017의 새로운 설치 환경
The new installation experience in Visual Studio 2017
(Figure 1) The new installation experience in Visual Studio 2017

최소 설치는 크기가 몇백 MB에 불과하지만, 여전히 소스 코드 제어를 비롯한 20개가 넘는 언어에 대한 기본 코드 편집 지원 기능이 포함되어 있습니다.The smallest install is just a few hundred megabytes, yet still contains basic code editing support for more than twenty languages including source code control. 대부분의 사용자는 더 많은 기능을 설치하려고 합니다.Most users will want to install more. 이제, .NET 데스크톱 개발에서 Unity를 사용한 게임 개발에 이르기까지 모든 것을 아우르는 공통 프레임워크, 언어 및 플랫폼을 나타내는 '워크로드'를 하나 이상 추가할 수 있습니다.You can add one or more 'workloads' that represent common frameworks, languages, and platforms - covering everything from .NET desktop development to game development with Unity.

Visual Studio를 업데이트하는 방법How to Update Visual Studio

Visual Studio를 업데이트하려면 Visual Studio 설치 관리자를 실행하고 "업데이트" 단추를 클릭합니다.To update Visual Studio, run the Visual Studio Installer and click the "Update" button.

새로운 설치 관리자에 대한 피드백Feedback on the New Installer

제목 표시줄의 오른쪽 위에 있는 새로운 설치 관리자 클라이언트에서 문제 보고제안하기 명령을 사용하여 문제를 보고하거나 칭찬할 수 있습니다.You can report problems or praise using the Report a Problem and Provide a Suggestion commands from the new installer client in the upper right corner of the title bar. 설치, 제거 또는 설치 수정 시 오류가 발생하는지, 설치 시간이 비정상적인지(예: 일시 중단) 또는 예기치 않은 오류 메시지가 표시되는지 알고 싶습니다.We want to know if you experience errors installing, uninstalling, or modifying your installation, as well as abnormal installation times (e.g. hangs) or unexpected error messages.

오프라인 설치 및 새로운 명령줄 설치 지원을 위한 레이아웃 만들기Creating a Layout for Offline Installation and New Command-Line Installation Support

시스템 관리자 및 다른 사용자는 이제 인터넷에 액세스하지 않아도 제품을 설치하는 데 필요한 모든 콘텐츠가 포함된 Visual Studio의 오프라인 레이아웃을 만들 수 있습니다.System administrators and other users can now create an offline layout of Visual Studio that contains all content needed to install the product without requiring internet access. 이 레이아웃은 전체 제품, 워크로드 및/또는 구성 요소 일부, 하나 이상의 제품 로캘일 수 있습니다.This layout can be the full product, a subset of workloads and/or components, and one or more product locales. 오프라인 레이아웃을 만들려면 인터넷에 연결되어야 합니다.Note that creating the offline layout requires internet access. 자세한 내용은 Visual Studio 2017 오프라인 설치를 참조하세요.For more information, see Create an offline installation of Visual Studio 2017.

설치 애칭 Installation Nickname

이제 Visual Studio Enterprise와 Community(다른 제품 중에서)는 동일한 컴퓨터에 병렬 설치할 수 있습니다.Visual Studio Enterprise and Community (among other products) can now be installed side-by-side on the same computer. 이러한 설치 확인을 더 간단히 하기 위해 짧은 이름이나 "애칭"을 지정할 수 있습니다.To make identifying these installations simpler, you can specify a short name or "nickname". 예를 들어 Visual Studio Enterprise를 설치한 후 Community를 설치한 경우 시작 메뉴에 둘 다 동일하게 표시됩니다.For example, if you were to install Visual Studio Enterprise, and then install Community, both would appear the same on the start menu. 두 번째로 설치한 버전에 "community"와 같은 애칭을 지정할 수 있습니다. 그러면 시작 메뉴 항목이 "Visual Studio 2017(community)" 및 "Visual Studio 2017(community)용 개발자 명령 프롬프트"와 같은 이름으로 표시됩니다.You can give the second one a nickname like "community", and the start menu items will appear with names such as "Visual Studio 2017 (community)" and "Developer Command Prompt for Visual Studio 2017 (community)".


Visual Studio IDE Visual Studio IDE

IDE 기능 향상IDE Improvements

  • Visual Studio는 시작 시간과 솔루션 로드 시간을 줄이는 데 최적화되었습니다.Visual Studio has been optimized to reduce startup time and solution load time. Visual Studio가 맨 처음 시작할 때 속도가 최소 50% 더 빠릅니다.The very first launch of Visual Studio is at least 50% faster.
  • 이제 Visual Studio는 시작, 솔루션 로드 또는 편집에 영향을 주는 확장 성능을 모니터링합니다.Visual Studio will now monitor extension performance that impacts startup, solution load, or editing. IDE의 알림 표시줄을 통해 확장 기능의 잘못된 수행에 대한 경고가 표시됩니다.You will receive alerts about poorly performing extensions via the Notification bar in the IDE. 새로운 성능 센터(도움말 > Visual Studio 성능 관리를 통해 사용 가능)에서는 성능에 영향을 주는 확장 기능을 볼 수 있을 뿐만 아니라, 시작 성능에 영향을 주는 도구 창을 검색하여 시작 로드 동작을 변경할 수 있습니다.The new Performance Center (also available via Help > Manage Visual Studio Performance) lets you view not only extensions that are impacting performance, but also discover tool windows that are impacting your startup performance and change their startup load behavior.
  • 새로운 Visual Studio 설치 관리자에서 Visual Studio용 GitHub 확장을 선택할 수 있습니다.The GitHub extension for Visual Studio can be selected in the new Visual Studio installer.
  • VS 외부의 분기를 전환할 때 성능 향상을 지원하기 위해 모든 프로젝트 다시 로드가 솔루션 다시 로드로 대체되었습니다.Reload All Projects has been replaced with Reload Solution to support better performance when switching branches external to VS. Git 명령줄을 사용하여 분기를 전환할 때 성능 향상을 최대화하기 위해 분기가 전환된 후 솔루션 다시 로드를 선택합니다.When using the Git command line to switch branches, choose Reload Solution after the branch has switched to achieve the maximum performance improvement.
  • .NET Core 및 ASP.NET Core 프로젝트의 파일 와일드카드 사용 기능이 강화되었습니다.File globbing capabilities for .NET Core and ASP.NET Core projects have been enhanced. 자세한 내용은 프로젝트 파일 와일드카드 사용을 참조하세요.See project file globbing for more details.
  • 이제 복제한 후 자동으로 리포지토리의 폴더 보기로 연결됩니다.You are now automatically taken to the folder view of your repository after cloning. 솔루션 탐색기에서 파일을 보거나 새 솔루션 선택 목록으로 솔루션을 열 수 있습니다.You can view files or open Solutions with the new Solution selection list in the Solution Explorer.
  • VSHub를 대체할 새로운 외부 서비스 호스트가 도입되고 있습니다.A new external service host is being introduced that will replace VSHub. 이 새로운 서비스 호스트는 외부 프로세스이며 작업 관리자에서 ServiceHub.Host.Node.x86.exe뿐만 아니라 ServiceHub.Host.CLR.*.exe로 나타납니다.This new service host is an external process and will appear in Task Manager as ServiceHub.Host.CLR.*.exe, as well as ServiceHub.Host.Node.x86.exe. 궁극적으로 이 호스트는 VSHub로 유입된 localhost http 트래픽을 제거하기 때문에 Fiddler 사용자가 보고한 노이즈가 완화될 것입니다.This host will ultimately eliminate the localhost http traffic that was introduced with VSHub which should alleviate the noise Fiddler users reported.
  • 시험판 라이선스 만료 메시지에서 현재 라이선스 상태를 더 명확하게 전달합니다.Pre-release license expiration messages more clearly communicate the current license state.
  • 계정 설정 대화 상자에서 화면 읽기 프로그램에 더 쉽게 액세스할 수 있습니다.The Account Settings dialog is now more accessible to screen readers.
  • 이제 Visual Studio 설치 관리자에서 도움말 뷰어 구성 요소를 설치하여 오프라인 도움말을 사용할 수 있습니다.Offline help is now available by installing the Help Viewer component from the Visual Studio installer.
  • 이제 Visual Studio 설치 관리자의 언어 팩 탭에서 언제든지 여러 사용자 인터페이스 언어를 추가하고 제거할 수 있습니다. 도구 > 옵션 > 국가별 설정을 사용하여 설치된 언어 중에서 현재 사용자 인터페이스 언어를 선택할 수 있습니다.You can now add and remove multiple user interface languages at any time using the Visual Studio installer on the Language Packs tab. You can select the current user interface language among those installed using Tools > Options > International Settings.
  • 버전 제어 상태 표시줄 때문에 로컬 리포지토리를 SCC 호스트에 게시하고 커밋되지 않고(그림 2) 푸시되지 않은 작업(그림 3)을 계속 추적하기가 더 쉬워졌습니다.The version control status bar makes it easier to publish local repos to an SCC host and keep track of uncommitted (Figure 2) and un-pushed work (Figure 3).

Version Control - Unpublished commits example

(그림 2) 버전 제어 - 게시되지 않은 커밋 예제
Version Control - Unpublished commits example
(Figure 2) Version Control - Unpublished commits example

Version Control - No pending changes example

(그림 3) 버전 제어 - 보류 중인 변경 내용 없음 예제
Version Control - No pending changes example
(Figure 3) Version Control - No pending changes example

로그인 및 ID 개선Sign In and Identity Improvements

Microsoft 개발자 도구에서 사용자 계정을 공유할 수 있는 새로운 ID 서비스가 도입되었습니다.We introduced a new identity service that allows you to share user accounts across Microsoft developer tools. Visual Studio 내에서 이러한 공유로는 팀 탐색기, Azure 도구, Windows 스토어 게시 등이 포함됩니다.Within Visual Studio, this sharing includes features such as Team Explorer, Azure Tools, Windows Store publishing, and more. 이러한 기능은 이제 공통적이고 일관적인 로그인 환경을 공유합니다.These features now share a common and consistent sign in experience.

Visual Studio의 기능 향상과 함께 사용자가 안전하게 로그인 상태를 유지하고 12시간마다 강제 로그인을 제거할 수 있도록 서비스 쪽에 몇 가지 향상된 기능이 배포되었습니다.Along with improvements to Visual Studio, we have completed the deployment of some improvements on the service side that allow users to safely stay signed in and eliminate the forced sign in every 12 hours. 이 조치를 통해 가장 많이 보고되는 로그인 문제를 해결했습니다.This addresses the most commonly reported sign in issue. Visual Studio 프롬프트에 대한 자세한 정보Learn more about fewer Visual Studio prompts.

시작 페이지Start Page

다시 디자인된 시작 페이지에는 다음과 같은 새로운 열기 및 만들기 기능이 포함되어 있습니다.The redesigned Start Page has new Open and Create facilities:

  • VSTS에서 원격 리포지토리를 가져오거나 Microsoft의 보다 탁월한 MRU를 사용하여 로컬 프로젝트 및 솔루션을 쉽게 열 수 있습니다.Acquire remote repos from VSTS or use our more prominent MRU to open local projects and solutions easily.
  • 다른 컴퓨터에 복제한 리포지토리가 시작 페이지 MRU에 표시되므로 이러한 리포지토리를 현재 컴퓨터에 쉽게 복제할 수 있습니다.The Start Page MRU shows repos you've cloned on other machines so you can easily clone them on your current machine.
  • 검색 가능한 템플릿 및 최근에 사용한 템플릿 목록을 사용하여 시작 페이지에서 직접 새 프로젝트를 만들 수 있습니다.Create a new project directly from the Start Page with searchable templates and a list of recently used templates. 최근에 사용한 템플릿이 개인 설정 계정을 사용하여 Visual Studio 인스턴스 간에 로밍됩니다.Recently used templates will also roam across Visual Studio instances with a personalization account.
  • 시작 페이지의 "VSTS에서 체크 아웃" 옵션을 통해 VSTS 환경에서 새 복제를 신속하게 시작할 수 있습니다.Quickly launch the new Clone from VSTS experience through the "Checkout from VSTS" option on the Start Page.
  • "시작" 섹션을 해제할 수 있습니다.A dismissible "Get Started" section.
  • 이제 뉴스 섹션을 축소할 수 있습니다.The News section is now collapsible:
    • 뉴스 피드에서 새로 추가된 항목에는 배지가 업데이트됩니다.Updated badge on newly added items in the News Feed.
    • 뉴스 피드를 축소할 때 새 항목이 나타나는 경우 뉴스 피드 확장기에 배지가 나타납니다.Badge on News Feed expander if new items appear when the News Feed is collapsed.
  • 작은 화면에서의 항목 잘림과 빈 공간의 효율적인 활용에 대한 의견을 수용하여 시각적 디자인을 세부적으로 조정했습니다.Refined visual design to address feedback about truncated elements on smaller screens and utilization of empty space.

새로운 시작 페이지는 다음과 같습니다(그림 4).The new Start page is shown below (Figure 4):

Start Page with Get Started and News

(그림 4) 시작 및 뉴스를 표시한 시작 페이지
Start Page with Get Started and News
(Figure 4) Start Page with Get Started and News

향상된 코드 탐색 Improved Code Navigation

Visual Studio 2017의 코드 탐색 기능이 대폭 향상되었습니다.We've made significant improvements to code navigation features in Visual Studio 2017:

  • 전체로 이동(Ctrl+ 또는 Ctrl+ T)을 사용하면 파일, 형식, 메서드 및 코드의 기타 요소를 신속하게 찾아서 이동할 수 있습니다.Go To All (Ctrl+, or Ctrl+ T) lets you quickly find and go to files, types, methods, and other elements in your code. 큰 코드베이스에서도 모든 종류의 항목을 찾을 수 있습니다.It allows you to locate items of any kind, even in large code bases. 게다가 찾고 있는 항목의 종류를 알고 있다면 간단하게 필터링할 수 있습니다.What’s more, if you know what kind of item you’re after, you can filter down easily. 또한 C#, Visual Basic 및 F#에서는 형식 이름을 잘못 입력한 경우에도 여전히 결과를 얻을 수 있도록 "유사" 일치 기능이 추가되었습니다.In C#, Visual Basic, and F#, we have also added "fuzzy" matching such that if you misspell a type name you will still get results. 줄 이동(Ctrl + G) 환경도 최신화했습니다.We've also modernized the Go To Line (Ctrl + G) experience. 편집 메뉴 위에서 이동 명령군을 찾을 수 있습니다(그림 5)(그림 6).You can find the Go To family of commands at the top of the Edit Menu (Figure 5) and (Figure 6).

Go To Results Filtered

(그림 5) 필터링된 결과로 이동
Go To Results Filtered
(Figure 5) Go To Results Filtered

Go To Line

(그림 6) 줄 이동
Go To Line
(Figure 6) Go To Line

  • 모든 참조 찾기(Shift + F12)를 전체적으로 점검하여(현재 C#, Visual Basic, F# 및 C++에 대해) 고급 그룹화, 필터링, 정렬, 참조 결과 내에서 검색, 결과 색 지정(C# 및 VB의 경우) 등의 기능을 제공하므로 참조를 명확하게 이해하고 확신을 갖고 필요한 코드 줄로 이동할 수 있습니다.Find All References (Shift+F12) has been overhauled (currently for C#, Visual Basic, F#, and C++), providing advanced grouping, filtering, sorting, searching within reference results, and colorization for results (for C# and VB), so you can get a clear understanding of your references and get to the line of code you need with confidence. 참조 항목을 마우스로 가리키면 소스 코드(C# 및 VB의 경우)에 대한 참조 컨텍스트와 함께 도구 설명이 표시됩니다.On mouse hover on a reference item, a tooltip is displayed with the context of the reference in source code (for C# and VB). 도구 모음에서 결과 유지 단추를 설정/해제하여 그 다음번에 모든 참조 찾기를 호출하면 새 창이 참조 결과로 채워집니다.By toggling on the Keep Results button in the toolbar, the next invocation of Find All References will populate reference results in a new window. 이 단추를 사용하여 기존 창을 현재 결과로 유지할 수도 있습니다(그림 7).This allows you to keep the current results in the existing window (Figure 7).

Find All References

(그림 7) 모든 참조 찾기
Find All References
(Figure 7) Find All Reference

  • 이제 편집기에 구조 안내선이 그려지기 때문에 작업하는 코드 구조를 쉽게 시각화할 수 있습니다.Structure Guide Lines are now drawn in the editor so that you can easily visualize the structure of the code that you are working in. 마우스로 가리키면 상위 블록을 기준으로 현재 코드 블록의 컨텍스트를 포함하는 도구 설명(그림 8)이 표시됩니다.On mouse hover, a tooltip (Figure 8) is displayed containing the context of the current code block relative to its ancestor blocks. 현재 구조 안내선은 C#, Visual Basic, F# 및 XAML 파일에 사용할 수 있으며 TextMate 문법을 통해 지원되는 모든 파일에도 사용할 수 있습니다.Structure Guide Lines are currently supported for C#, Visual Basic, F#, and XAML files, and for any files supported via TextMate grammars. 이 기능은 도구 > 옵션 대화 상자에서 텍스트 편집기 > 일반 범주에 있는 구조 안내선 표시 확인란을 선택 취소하여 비활성화할 수 있습니다.This feature may be disabled in the Tools > Options dialog by unchecking the Show structure guide lines checkbox under the Text Editor > General category.

Structure Guide Lines

(그림 8) 구조 안내선
Structure Guide Lines
(Figure 8) Structure Guide Lines

EditorConfig를 통한 코딩 규칙 지원Coding Convention Support via EditorConfig

이제 Visual Studio 편집기에서 EditorConfig를 지원합니다. 개발자가 EditorConfig를 사용하면 서로 다른 편집기와 IDE 간에 서로 일관되는 코딩 스타일 규칙을 정의하고 유지할 수 있습니다.The Visual Studio editor now supports EditorConfig, which allows developers to define and maintain consistent coding style conventions between different editors and IDEs. 자세한 내용은 설명서를 참조하고, .editorconfig 파일을 사용하여 .NET 코드 스타일을 제어하는 방법에 대한 자세한 내용은 .NET 설명서를 참조하세요.See documentation for more details, and .NET documentation for information on how to use .editorconfig files to govern your .NET code style.

폴더 열기Open Folder

폴더 열기는 프로젝트와 솔루션 없이 코드베이스를 사용할 수 있는 간편한 방법입니다.Open Folder is a convenient way for you to work with code bases without projects and solutions. 파일 > 열기 > 폴더에서 폴더 뷰를 열고 탐색할 폴더를 선택합니다.Open Folder View from File > Open > Folder, and then select a folder to navigate. 솔루션 탐색기를 사용하여 파일을 열고 편집할 수 있습니다(그림 9).You can open and edit files using the Solution Explorer (Figure 9). 많이 사용하는 다양한 언어에서 구문 강조와 기호 탐색(이동)이 가능합니다.Many popular languages have syntax highlighting and support for symbol navigation (GoTo).

The new Open Folder feature in the Visual Studio IDE

(그림 9) Visual Studio IDE의 새로운 폴더 열기 기능
The new Open Folder feature in the Visual Studio IDE
(Figure 9) The new Open Folder feature in Visual Studio IDE

또한 일부 언어에서는 고급 IntelliSense가 가능하고 폴더에서 바로 디버깅할 수도 있습니다.Additionally, some languages have advanced IntelliSense and debugging support directly from the folder:

  • C++(CMake)C++ (CMake).
  • Node.js - JavaScript/TypeScriptNode.js - JavaScript/TypeScript.
  • C# 및 VBC# & VB.

솔루션 탐색기에서 F5와 파일 상황에 맞는 메뉴를 사용하여 빌드 또는 디버깅 작업을 할 수 있습니다.You can build or debug by using F5 and the file context menu in the Solution Explorer. 환경을 최적으로 구축하려면 사용 중인 언어의 워크로드를 설치해야 합니다.For the best experience, make sure you install the workload for the languages you are working with.

또한 폴더 보기에서 다음이 가능합니다.The folder view also supports the following:

  • 이동(Ctrl+)을 사용하여 폴더에 있는 코드를 전체적으로 검색합니다.Search across the code in your folder with GoTo (Ctrl+).
  • 솔루션 탐색기 폴더 보기의 범위를 하위 폴더로 확장합니다.Scope the Solution Explorer folder view to subfolders.
  • 탐색기에서 또는 솔루션 탐색기의 명령 프롬프트에서 폴더를 엽니다.Open folders in Explorer or the Command Prompt from the Solution Explorer.
  • 솔루션 선택 드롭다운을 사용하여 열린 폴더 또는 리포지토리에서 솔루션 간에 간편하게 전환합니다.Easily toggle between Solutions in the opened folder or repository with the Solution selection dropdown.
  • launch.vs.json을 사용하여 디버그 및 시작 설정을 구성합니다.Configure debug and launch settings with launch.vs.json. 디버그할 수 있는 파일을 마우스 오른쪽 단추로 클릭하고 디버그 및 시작 설정을 선택합니다.Right-click on a file that can be debugged and select Debug and Launch Settings.
  • tasks.vs.json을 사용하여 작업을 구성하고 빌드를 사용자 지정합니다.Configure tasks and customize build with tasks.vs.json. 아무 파일이나 마우스 오른쪽 단추로 클릭하고 작업 설정 구성을 선택합니다.Right-click on any file and select Configure Task Settings.
  • JSON 편집기의 Launch.vs.json과 tasks.vs.json에는 IntelliSense 기능이 있습니다.Launch.vs.json and tasks.vs.json have IntelliSense in the JSON editor.

폴더 열기 성능 및 폴더 뷰와 솔루션 뷰 간의 전환 성능이 크게 향상되었습니다.The performance of opening folders and toggling between folder view and solution view has been drastically improved.

경량 솔루션 로드Lightweight Solution Load

경량 솔루션 로드를 사용하여 대형 솔루션을 빨리 로드할 수 있습니다.Lightweight Solution load enables faster loading of large Solutions. 따라서 대형 솔루션의 솔루션 로드 시간 및 메모리 사용량을 크게 개선할 수 있습니다.It can provide substantial improvements in Solution load time and memory usage for large Solutions. 기본적으로 이 기능은 해제되어 있으며 솔루션별로 또는 IDE 전역으로 설정할 수 있습니다.The feature is not enabled by default and can be enabled on a Solution-by-Solution basis or globally in the IDE. 전체적으로 설정하려면 도구 > 옵션(그림 10)으로 이동한 다음 프로젝트 및 솔루션에서 일반을 선택하거나 빠른 실행으로 "경량 솔루션 로드"를 검색합니다.To enable globally, navigate to Tools > Options, select General under Projects and Solutions (Figure 10) or by searching for "Lightweight Solution load" with Quick Launch. 솔루션 속성 창에서 각 솔루션에 대해 이 기능을 켜거나 끌 수 있습니다.The feature can be turned on and off for individual Solutions in the Solution properties pane.

The new Lightweight Solution load feature in the Visual Studio IDE

(그림 10) Visual Studio IDE의 새로운 경량 솔루션 로드 기능
The new Lightweight Solution load feature in the Visual Studio IDE
(Figure 10) The new Lightweight Solution load feature Visual Studio IDE

경량 솔루션 로드는 C# 프로젝트나 C#과 C++ 프로젝트가 섞인 프로젝트가 있는 대형 프로젝트에 이상적입니다.Lightweight Solution Load is best suited for large solutions that contain C# or a mix of C# and C++ projects. 대형 솔루션을 사용하는 것으로 감지되면 이 기능을 사용하라는 메시지가 나타날 수 있습니다.You may be prompted to enable the feature if we detect that you are working with large solutions. 이 기능에 대한 자세한 정보는 Visual Studio 블로그에서 확인할 수 있습니다.You can find more details about this feature on the Visual Studio blog.

전체 솔루션 빌드의 성능이 상당히 향상되었습니다. 이제 기존의 솔루션 로드와 동등한 수준입니다.Performance of full Solution builds has been improved substantially, now at parity with conventional Solution load.

더 많은 언어에 대한 구문 색 지정, 자동 완성, 코드 조각 및 "탐색" 검색 지원Syntax Colorization, Autocomplete, Snippet, and "Navigate To" Search Support for More Languages

Visual Studio 2015 업데이트에 추가한 지원을 기반으로 Visual Studio 2017에서는 이제 증가된 범위의 언어에 대해 구문 색 지정 및 자동 완성을 지원합니다.Building on the support we added in the Visual Studio 2015 updates, Visual Studio 2017 now supports syntax colorization and autocomplete for an increased range of languages. 또한 이러한 언어 중 일부는 “탐색”(Ctrl+) 및/또는 코드 조각을 통한 탐색도 지원합니다.In addition, some of these languages also support navigation via "Navigate To" (Ctrl+), and/or Code Snippets.

아래 언어에 대한 파일은 해당 언어를 명시적으로 지원하는 워크로드가 설치되지 않은 경우에도 새로운 Visual Studio 핵심 편집기에서 이러한 기능을 지원합니다.Files for the languages noted below, support these features in the new Visual Studio Core Editor even when no workloads have been installed to explicitly support the language in question. 언어 지원을 제공하는 워크로드(예: .NET 데스크톱 응용 프로그램 개발 워크로드, C++를 사용한 Windows 데스크톱 앱 개발 워크로드 등)가 설치된 경우 IntelliSense 및 Light Bulbs와 같은 기타 고급 언어 기능을 비롯한 보다 광범위한 언어 지원이 제공될 수도 있습니다.If a workload that provides language support is installed (e.g., the .NET Desktop Application Development workload, the Windows Desktop App Development with C++ workload, etc.), then more extensive language support including IntelliSense and other advanced language features like Light Bulbs may be provided.

지원 수준별 언어 파일 형식:Language file types listed by support level:

  • 구문 색 지정 및 자동 완성만 지원:Supports only Syntax Colorization and Autocomplete:
    • Bat, Clojure, CoffeeScript, CSS, Docker, F#, Groovy, INI, Jade, Javadoc, JSON, LESS, LUA, Make, Markdown ++, Objective-C, Perl, PowerShell, Python, Rust, ShaderLab, SQL, Visual Basic .NET, YAML.Bat, Clojure, CoffeeScript, CSS, Docker, F#, Groovy, INI, Jade, Javadoc, JSON, LESS, LUA, Make, Markdown ++, Objective-C, Perl, PowerShell, Python, Rust, ShaderLab, SQL, Visual Basic .NET, YAML.
  • 코드 조각(구문 색 지정 및 자동 완성 외) 지원:Supports Code Snippets (in addition to Syntax Colorization and Autocomplete):
    • CMake, C++, C#, Go, Groovy, HTML, Java, Javadoc, JavaScript, Lua, Perl, PHP, R, Ruby, Shellscript, Swift, XML.CMake, C++, C#, Go, Groovy, HTML, Java, Javadoc, JavaScript, Lua, Perl, PHP, R, Ruby, Shellscript, Swift, XML.
  • 탐색(구문 색 지정 및 자동 완성 외) 지원:Supports Navigate To (in addition to Syntax Colorization and Autocomplete):
    • C++, C#, Go, Java, JavaScript, PHP, TypeScript, Visual Basic.C++, C#, Go, Java, JavaScript, PHP, TypeScript, Visual Basic.

프로젝트 개요 페이지 시작Getting Started with Project Overview Pages

새롭게 만든 프로젝트에 맞게 완전히 새로운 시작 환경을 도입하였습니다.We have introduced a completely new getting started experience for freshly created projects. 기존의 시작 페이지를 새로운 앱 구성 디자이너의 개요 탭으로 바꾸고, 신속하게 준비하고 실행할 수 있는 작업의 페이지에 초점을 맞췄습니다.We've replaced current getting started pages with an Overview tab in our new App Configuration Designer and focused the page on the actions that will get you up and running quickly! ASP.NET 4.x ASP.NET Core 및 Cordova 프로젝트에서 사용할 수 있습니다(그림 11).This has been enabled in ASP.NET 4.x ASP.NET Core, and Cordova projects (Figure 11).

Project Overview

(그림 11) 프로젝트 개요
Project Overview
(Figure 11) Project Overview

연결된 서비스를 사용하여 서비스에 연결 Connecting to Services Using Connected Services

이전 릴리스에서는 이 기능의 이름이 서비스 기능이었습니다.In a previous release, this feature was named Service Capabilities. 이름이 연결된 서비스로 변경되었습니다.We've changed the name to Connected Services.

연결된 서비스는 Visual Studio 2017의 최신 "연결된 서비스 추가" 또는 "서비스 참조 추가" 기능입니다.Connected Services is the modern "Add Connected Service" or "Add Service Reference" feature of Visual Studio 2017. 연결된 서비스 기능을 사용하면 앱을 서비스에 더 쉽게 연결할 수 있습니다.The Connected Services feature makes it easier to connect your app to services. 웹 및 모바일 프로젝트 유형의 경우 솔루션 탐색기에서 "연결된 서비스"라는 새 노드를 사용할 수 있습니다.A new node called "Connected Services" is available in the Solution Explorer for Web and Mobile project types. 이 노드를 두 번 클릭하면 Visual Studio에서 새 전체 페이지 탭이 열리고 이 탭에서 연결 가능한 Microsoft 인기 서비스를 검색할 수 있습니다.Double-clicking this node will open a new full page tab in Visual Studio where you can discover popular Microsoft services you can connect to.

연결된 서비스 페이지(그림 12)에서 서비스를 선택하면 연결된 서비스 마법사가 호출되며, 이 마법사에서 프로젝트를 구성하고 필요한 NuGet 패키지를 다운로드하여 신속하고 어려움 없이 서비스에 대한 코딩을 시작할 수 있습니다.Selecting a service on the Connected Services page (Figure 12) will invoke the Connected Services Wizard that configures your project, and downloads the necessary NuGet packages to get you started coding against your service quickly and painlessly.

Connected Services

(그림 12) 연결된 서비스
Connected Services
(Figure 12) Connected Services

도구 및 기능의 제품 내 구입 In-Product Acquisition of Tools and Features

Visual Studio 2017을 사용하면 IDE를 종료하지 않고도 추가 작업 및 구성 요소를 쉽게 가져올 수 있습니다(그림 13).Visual Studio 2017 makes it easy to acquire additional workloads and components without leaving the IDE (Figure 13). 빠른 실행을 활용하여 작업 또는 개별 구성 요소에 대한 Visual Studio 설치 관리자를 찾아서 설치할 수 있습니다.Leverage Quick Launch to find and kick-off the Visual Studio Installer for any Workload or Individual component.

In-product acquisition via Quick Launch

(그림 13) 빠른 실행을 통한 제품 내 구입
In-product acquisition via Quick Launch
(Figure 13) In-product acquisition via Quick Launch

원하는 템플릿을 찾을 수 없는 경우 새 프로젝트 대화 상자 내에서 Visual Studio 설치 관리자를 열 수도 있습니다(그림 14).If you can't find the templates you’re looking for, the Visual Studio Installer can also be opened from within the New Project dialog (Figure 14).

In-product acquisition via New Project Dialog

(그림 14) 빠른 실행을 통한 제품 내 구입
In-product acquisition via New Project Dialog
(Figure 14) In-product acquisition via Quick Launch


Visual C++ Visual C++

Visual Studio 2017에는 Visual C++ 환경에 대한 많은 업데이트와 수정이 포함되었습니다.Visual Studio 2017 brings many updates and fixes to the Visual C++ environment. 버그를 알려 주셔서 감사합니다.Thank you for reporting bugs! 컴파일러 및 도구에서 250개 이상의 버그와 보고된 문제가 해결되었으며, 그 중 상당수는 고객이 Microsoft Connect를 통해 제출한 것들입니다.We've fixed over 250 bugs and reported issues in the compiler and tools, many submitted by customers through Microsoft Connect. 이 릴리스에서는 STL의 성능 향상을 위해 최선을 다했습니다.In this release, we worked on performance improvement of the STL. 이제 새 SQLite 기반 데이터베이스 엔진이 기본적으로 사용됩니다.The new SQLite-based database engine is now being used by default. 이 엔진은 정의로 이동(Go To Definitions), 모든 참조 찾기(Find All References) 같은 데이터베이스 작업의 속도를 높이고 초기 솔루션 구문 분석 시간을 크게 개선합니다.This will speed up database operations like Go To Definition and Find All References, and will significantly improve initial solution parse time. 이제 원래 C++ 워크로드에 대한 보다 세분화된 설치 환경이 제공됩니다.We now provide a more granular installation experience for installing the original C++ workload. 필요한 도구만 설치할 수 있도록 선택 가능한 구성 요소가 추가되었습니다.We have added selectable components that enable you to install just the tools that you need. Visual Studio의 CMake 지원을 사용할 수 있습니다!CMake support in Visual Studio is ready for primetime! 이제 VS로 직접 CMake 프로젝트를 로드하고 코딩을 시작해 보세요.Load your CMake projects directly into VS and start coding now. "폴더 열기" C++ 환경이 개선되었습니다. 따라서 VS 솔루션 및 프로젝트를 만들 필요 없이 소스 코드를 VS로 가져올 수 있습니다.“Open Folder” C++ experience has been improved – so bring your source code to VS without the need to create any VS solutions and projects. 탐색은 이제 이동이라고 하며 새 탐색 필터 집합에 대한 포괄적인 용어입니다.Navigate To is now known as Go To, an umbrella term for a set of new navigation filters. 이를 통해 특히 큰 코드베이스에서 더 쉽게 올바른 결과를 찾을 수 있습니다.This will make it easier to find the right results, especially in larger code bases.

C++ 코드 분석C++ Code Analysis

C++ Core 지침을 적용하기 위한 C++ Core Checkers가 이제는 Visual Studio와 함께 배포됩니다.The C++ Core Checkers for enforcing the C++ Core Guidelines are now distributed with Visual Studio. 프로젝트의 속성 페이지(그림 15)의 코드 분석 확장 대화 상자에서 체커를 활성화하기만 하면 코드 분석을 실행할 때 확장이 포함됩니다.Simply enable the checkers in the Code Analysis Extensions dialog in the project's property pages (Figure 15) and the extensions will be included when you run code analysis.

CppCoreCheck properties page

(그림 15) CppCoreCheck 속성 페이지
CppCoreCheck properties page
(Figure 15) CppCoreCheck properties page

C++ 컴파일러C++ Compiler

C++ 컴파일러 및 표준 라이브러리가 C++11 및 C++14 기능에 대한 지원 개선과 C++17 표준에서 선보일 것으로 예상되는 특정 기능에 대한 예비 지원으로 업데이트되었습니다.We've updated the C++ compiler and standard library with enhanced support for C++11 and C++14 features, as well as preliminary support for certain features expected to be in the C++17 standard. 컴파일러는 일반화된 constexpr을 지원하고 집계에 NSDMI를 사용할 수 있기 때문에 C++14 표준에 추가된 기능을 완벽히 갖췄습니다.With support for generalized constexpr and NSDMI for aggregates, the compiler is complete for features added in the C++14 Standard. 하지만 아직까지 C++11 표준 기능과 C++98 표준 기능이 몇 가지 부족합니다.Note that the compiler still lacks a few features from the C++11 and C++98 Standards. Visual Studio 2017에서는 /sdl과 함께 /await를 사용할 수 있습니다.Visual Studio 2017 allows using /sdl with /await. 코루틴에서 /rtc 제한도 제거했습니다.We removed /rtc limitation with Coroutines.

이 릴리스는 최적화 및 코드 생성 기능이 향상되었습니다.This release brings several improvements in optimization and code generation. 특히 주목할 만한 기능 향상은 다음과 같습니다.Some notable improvements include:

  • 루프의 코드 생성 향상: 상수 정수 나누기의 자동 벡터화를 지원하며, memset 패턴 식별 기능이 향상되었습니다.Improved code generation of loops: support for automatic vectorization of division of constant integers, better identification of memset patterns.
  • 코드 보안 개선: 버퍼 오버런 컴파일러 진단의 내보내기가 개선되었으며, 이제 /guard:cf가 점프 테이블을 생성하는 switch 문을 보호합니다.Improved code security: improved emission of buffer overrun compiler diagnostics, and /guard:cf now guards switch statements that generate jump tables.
  • /debug:fastlink 옵션이 향상되어 대형 구성 요소에 대한 링크 타임이 Visual Studio 2015에서보다 30% 더 빨라졌습니다.The /debug:fastlink option has been improved to provide 30% faster link times on large components than in Visual Studio 2015.
  • 코루틴을 사용하는 경우 /await 스위치 아래에서 사용할 수 있었던 실험적 키워드 "yield"가 제거되었습니다.When using co-routines, the Experimental keyword "yield" (available under /await switch) has been removed. 대신 "co_yield"를 사용하도록 코드를 업데이트해야 합니다.Your code should be updated to use the "co_yield” instead. 자세한 내용은 Visual C++ 팀 블로그를 참조하세요.For more information, see the Visual C++ Team blog.

C++ 라이브러리C++ Libraries

  • [STL] basic_string의 성능이 향상되었습니다.[STL] Performance improvement of basic_string.
  • [STL] <any>, <string_view>, apply(), make_from_tuple()이 추가되었습니다.[STL] Added <any>, <string_view>, apply(), make_from_tuple().
  • [STL] 정확성과 성능 개선을 위해 std:: vector가 조사되었습니다.[STL] std::vector has been overhauled for correctness and performance.
  • [STL] 이제 STL이 가상의 null 포인터를 역참조하지 못하도록 방지합니다.[STL] The STL now avoids dereferencing null fancy pointers.
  • [STL] <optional>, <variant>, shared_ptr::weak_type 및 <cstdalign>이 추가되었습니다.[STL] Added <optional>, <variant>, shared_ptr::weak_type, and <cstdalign>.
  • [STL] min/max/minmax(initializer_list) 및 min_element/max_element/minmax_element()에 C++14 constexpr을 사용할 수 있게 되었습니다.[STL] Enabled C++14 constexpr in min/max/minmax(initializer_list) and min_element/max_element/minmax_element().
  • [STL] std::string/std::wstring의 이동 생성자 성능이 3배 넘게 향상되었습니다.[STL]Improved the performance of std::string/std::wstring's move constructors by more than 3x.
  • [STL] STL 개선의 전체 목록은 Visual C++ 팀 블로그를 참조하세요.[STL] For a complete list of STL improvements see: Visual C++ Team blog.
  • [ATL] 이름 조회 규칙이 추가로 수정되었습니다.[ATL] Yet another set of name-lookup conformance fixes.
  • [ATL] 기존 이동 생성자 및 이동 할당 연산자가 이제 throw되지 않음으로 제대로 표시됩니다.[ATL] Existing move constructors and move assignment operators are now properly marked as non-throwing.
  • [ATL] atlstr.h에서 지역 정적 변수의 스레드 안전 초기화에 대한 유효한 경고 C4640이 표시됩니다.[ATL] Un-suppress valid warning C4640 about thread safe init of local statics in atlstr.h.
  • [ATL] [ATL 사용 및 DLL 빌드] 시 XP 도구 집합에서 지역 정적의 스레드 안전 초기화가 자동으로 해제됨[ATL] Thread Safe Initialization of local statics was automatically turned off in the XP toolset when [using ATL AND building a DLL]. 물론 이에 해당하는 경우는 더 이상 없습니다.This is no longer the case. 스레드 안전 초기화 해제를 원하는 경우 프로젝트 설정에 /Zc:threadSafeInit-을 추가할 수 있습니다.You can add /Zc:threadSafeInit- in your Project settings if having thread safe initialization off is desired.
  • [AMP] 라이브러리가 감사되고 입력 오류가 수정되었습니다.[AMP] Audited library and fixed typos.
  • [VCRuntime] 제어 흐름 보호 기호에 대한 새 헤더 'cfguard.h'[VCRuntime] New header ‘cfguard.h’ for Control Flow Guard symbols.

C++ IDEC++ IDE

이제 구성 변경 성능이 C++ 네이티브 프로젝트의 경우 향상되었고, C++/CLI 프로젝트의 경우 훨씬 더 향상되었습니다.Configuration change performance is now better for C++ native projects and much better for C++/CLI projects. 이제 처음으로 활성화될 때 솔루션 구성이 더 빠르고, 이 솔루션 구성의 모든 후속 활성화는 거의 즉시 이루어집니다.When a solution configuration is activated for the first time it will now be faster and all subsequent activations of this solution configuration will be almost instantaneous.

이제 새 SQLite 기반 데이터베이스 엔진이 기본적으로 사용됩니다.The new SQLite-based database engine is now being used by default. 이 엔진은 정의로 이동(Go To Definitions), 모든 참조 찾기(Find All References) 같은 데이터베이스 작업의 속도를 높이고 초기 솔루션 구문 분석 시간을 크게 개선합니다.This will speed up database operations like Go To Definition and Find All References, and will significantly improve initial solution parse time. 해당 설정이 도구 > 옵션 > 텍스트 편집기 > C/C++ > 고급(이전에는 ...C/C++ > 실험적에 있었음)으로 이동되었습니다.The setting has been moved to Tools > Options > Text Editor > C/C++ > Advanced (it was formerly under ...C/C++ > Experimental).

미리 컴파일된 헤더를 사용하지 않는 프로젝트 및 파일에 대한 IntelliSense 성능이 향상되었습니다. 현재 파일의 헤더에 대해 자동 미리 컴파일된 헤더가 생성됩니다.We've improved IntelliSense performance on projects and files not using precompiled headers – an Automatic Precompiled Header will be created for headers in the current file.

다른 업데이트는 다음과 같습니다.Other updates include:

  • IntelliSense 오류에 대한 오류 필터링 및 도움말이 오류 목록(그림 16)에 추가되었습니다.We've added error filtering and help for IntelliSense errors in the error list (Figure 16). 이제 오류 열을 클릭하여 필터링할 수 있습니다(그림 17).Clicking on the error column now allows for filtering (Figure 17). 또한 특정 오류를 클릭하거나 F1 키를 누르면 오류 메시지에 대한 온라인 검색이 시작됩니다.Also, clicking on the specific errors or pressing F1 will launch an online search for the error message.

Error List

(그림 16) 오류 목록
Error List
(Figure 16) Error List

Error List Filtered

(그림 17) 오류 목록 필터링
Error List Filtered
(Figure 17) Error List Filtered

  • 멤버 목록 항목을 종류별로 필터링하는 기능이 추가되었습니다(그림 18).Added the ability to filter Member List items by kind (Figure 18).

Member List Filtered

(그림 18) 멤버 목록 필터링
Member List Filtered
(Figure 18) Member List Filtered

  • 멤버 목록에 나타나는 항목의 컨텍스트 인식 필터링을 제공하는 새로운 실험 예측 IntelliSense 기능이 추가되었습니다.Added a new experimental Predictive IntelliSense feature that provides contextually-aware filtering of what appears in the Member List.
  • 새로운 모든 참조 UI 찾기에는 C++ 코드 결과의 변수에서 읽고 있는지 아니면 C++ 코드 결과의 변수에 쓰고 있는지에 대한 정보가 포함되어 있습니다.The new Find All References UI includes information about whether you are reading from or writing to a variable in the results for C++ code.

  • IntelliSense 점-화살표 기능이 실험적에서 고급으로 옮겨졌고 이제 기본적으로 사용됩니다.The Dot-to-Arrow IntelliSense feature has been moved from experimental to advanced, and is now enabled by default. 편집기 기능인 범위 확장과 우선 순위 확장도 실험적에서 고급으로 옮겨졌습니다.The editor features Expand Scopes and Expand Precedence have also been moved from experimental to advanced.

  • 실험적 리팩터링 기능인 시그니처 변경과 함수 추출을 기본적으로 사용할 수 있습니다.The experimental refactoring features Change Signature and Extract Function are now available by default.

  • C++ 프로젝트 ‘빠른 프로젝트 로드’를 위한 새로운 실험적 기능을 사용할 수 있게 되었습니다.We've enabled the new experimental feature for C++ projects ‘Faster project load’. 다음에 C++ 프로젝트를 열 때 프로젝트가 더 빠르게 로드되고, 그 다음에 프로젝트를 열 때는 더 빠르게 로드됩니다.The next time you open a C++ project it will load faster, and the time after that it will load even faster!

  • 폴더 열기 환경이 개선되었습니다.Improvements to the Open Folder experience. "폴더 열기"를 통해 소스를 로드하여 MSBuild가 아닌 C++ 프로젝트를 편집, 빌드 및 디버그할 수 있습니다.Edit, build, and debug your non-MSBuild C++ project by loading your sources through “Open Folder”. 다음 json 파일을 통해 환경을 사용자 지정할 수 있습니다.Customize the experience through these json files:

    • IntelliSense 및 검색 환경을 사용자 지정할 수 있는 CppProperties.json.CppProperties.json to customize the IntelliSense and browsing experience.
    • 빌드 단계를 사용자 지정할 수 있는 Tasks.vs.json.Tasks.vs.json to customize the build steps.
    • 디버깅 환경을 사용자 지정할 수 있는 Launch.vs.json.Launch.vs.json to customize the debugging experience.
  • C++ IntelliSense가 루트 폴더에 CppProperties.json 파일을 만들지 않아도 작동합니다.C++ IntelliSense will work without the need to create a CppProperties.json file in the root folder. 이와 함께 CMake 파일과 CppProperties.json 파일에서 제공하는 구성을 서로 쉽게 전환할 수 있도록 새 드롭다운을 추가했습니다.Along with this, we've added a new dropdown to allow users to easily switch between configurations provided by CMake and CppProperties.json files. 폴더 열기의 CMake 지원: "폴더 열기"로 CMake 프로젝트를 열면 C++ 편집, 빌드, 디버깅 환경이 자동으로 구성됩니다.CMake support in Open Folder: opening CMake projects with “Open Folder” will automatically configure the environment for C++ editing, building and debugging.

  • CMakeLists.txt 파일과 같은 폴더에 있는 CMakeSettings.json 파일을 통해 추가 구성이 지원됩니다(그림 19).Further configuration is supported via a CMakeSettings.json file that sits in the same folder as the CMakeLists.txt file (Figure 19).

CMake Open Folder

(그림 19) CMake 폴더 열기
CMake Open Folder
(Figure 19) CMake Open Folder

C++ 설치 워크로드C++ Installation Workloads

  • C++을 사용한 Windows 데스크톱 개발:Windows Desktop Development with C++:

    • 이제 원래 C++ 워크로드에 대한 보다 세분화된 설치 환경이 제공됩니다.We now provide a more granular installation experience for installing the original C++ workload. 필요한 도구만 설치할 수 있도록 선택 가능한 구성 요소가 추가되었습니다.We have added selectable components that enable you to install just the tools that you need. 설치 관리자 UI에 나열된 구성 요소에 대해 표시된 설치 크기는 정확하지 않으며 전체 크기는 이보다 클 수 있습니다.Please note that the indicated installation sizes for the components listed in the installer UI are not accurate and underestimate the total size.

    • C++ 데스크톱 작업에서 Win32 프로젝트를 성공적으로 만들려면 도구 집합과 Windows SDK를 둘 다 설치해야 합니다.To successfully create Win32 projects in the C++ desktop workload, you must install both a toolset and a Windows SDK. 권장된(선택된) 구성 요소 "VC++ 2017 v141 도구 집합(x86, x64)" 및 "Windows 10 SDK(10.0.14393)"를 설치하면 제대로 작동합니다.Installing the recommended (selected) components “VC++ 2017 v141 toolset (x86, x64)” and “Windows 10 SDK (10.0.14393)” will ensure this will work. 필요한 도구가 설치되어 있지 않으면 프로젝트가 생성되지 않고 마법사가 중단됩니다.If the necessary tools are not installed, projects will not be created successfully and the wizard will hang.

  • C++를 사용한 Linux 개발:Linux Development with C++:

    • 일반적으로 사용되는 확장인 Linux 개발용 Visual C++가 Visual Studio에 포함됩니다.The popular extension Visual C++ for Linux Development is now part of Visual Studio. 이 설치는 Linux 환경에서 실행되는 C++ 응용 프로그램을 개발 및 디버깅하는 데 필요한 모든 사항을 제공합니다.This installation provides everything you need to develop and debug C++ applications running on a Linux environment.
  • C++를 사용한 게임 개발:Game Development with C++:

    • C++의 모든 기능을 사용하여 DirectX 또는 Cocos2d로 구동하는 전문 게임을 개발해 보세요.Use the full power of C++ to build professional games powered by DirectX or Cocos2d.
  • C++를 사용한 모바일 개발(Android 및 iOS):Mobile Development with C++ (Android and iOS):

    • 이제 Visual Studio를 사용하여 Android 및 iOS를 대상으로 할 수 있는 모바일 앱을 만들고 디버깅할 수 있습니다.You can now create and debug mobile apps using Visual Studio that can target Android and iOS.
  • 유니버설 Windows 플랫폼 개발:Universal Windows Platform development:

    • C++는 유니버설 Windows 플랫폼 개발 워크로드에 대한 선택적 구성 요소로 제공됩니다.C++ comes as an optional component for the Universal Windows Platform development workload. 현재 C++ 프로젝트를 업그레이드하려면 수동으로 해야 합니다.Upgrading C++ projects currently must be done manually. Visual Studio 2017에서 v140을 대상으로 한 UWP 프로젝트를 열 때 Visual Studio 2015를 설치하지 않은 경우 프로젝트 속성 페이지에서 v141 플랫폼 도구 집합을 선택해야 합니다.If you open a v140-targeted UWP project in Visual Studio 2017, you need to select the v141 platform toolset in the project property pages if you do not have Visual Studio 2015 installed.

Clang/C2 플랫폼 도구 집합Clang/C2 Platform Toolset

이제 Visual Studio 2017과 함께 제공되는 Clang/C2 도구 집합이 대규모 프로젝트를 빌드하는 데 중요한 /bigobj 스위치를 지원합니다.The Clang/C2 toolset that ships with Visual Studio 2017 now supports the /bigobj switch, which is crucial for building large projects. 또한 컴파일러의 프런트 엔드와 백 엔드에서 몇몇 중요한 버그 수정이 있었습니다.It also includes several important bug fixes, both in the front-end and the back-end of the compiler.


C# 및 Visual Basic C# and Visual Basic

언어 확장Language Extensions

이 릴리스에서는 다음을 포함하여 C# 7.0 및 Visual Basic 15 언어 기능에 대한 지원이 도입되었습니다.This release introduces support for C# 7.0 and Visual Basic 15 language features, including:

C#의 경우:For C#:

  • 비동기 메서드의 작업과 비슷한 반환 형식: 비동기 메서드에서 작업과 비슷한 형식을 반환하는 기능이 도입되었습니다.Task-like return types for async methods: this introduces the ability to return any task-like type from an async method. 이전에는 이러한 반환 형식이 Task<T>Task(으)로 제한되었습니다.Previously these return types were constrained to Task<T> and Task.
  • 값 튜플은 튜플을 사용하여 형식화된 값 집합을 일시적으로 그룹화할 수 있는 언어 지원을 제공합니다.Value tuples introduce language support for using tuples to temporarily group a set of typed values. 자세한 내용은 GitHub에서 디자인 메모을 검토하세요.To learn more, please review the design notes on GitHub.
  • 중첩된 로컬 함수는 블록 범위에서 함수 선언을 지원하도록 언어를 확장합니다.Nested local functions extend the language to support declaration of functions in a block scope.
  • 패턴 일치 확장은 함수 언어에서 제공하는 대수 데이터 형식 및 패턴 일치의 여러 이점을 사용할 수 있게 해줍니다.Pattern matching extensions enable many of the benefits of algebraic data types and pattern matching from functional languages.
  • 참조 반환은 함수가 참조를 통해 값을 반환할 수 있도록 해줍니다.Ref returns enable functions to return values by reference.

Visual Basic:For Visual Basic:

  • 값 튜플튜플을 사용하여 형식화된 값 집합을 일시적으로 그룹화할 수 있는 언어 지원을 제공합니다. Dim point As (x As Integer, y As Integer) = GetOffset()Value tuples introduce language support for using tuples to temporarily group a set of typed values: Dim point As (x As Integer, y As Integer) = GetOffset().
  • ByRef 반환 소비는 ByRef가 반환하는 라이브러리의 함수 및 속성을 사용할 수 있도록 언어를 확장합니다.ByRef return consumption extend the language to support consumption of functions and properties from libraries which have ByRef returns.
  • 이진 리터럴 및 숫자 그룹 구분 기호를 사용하여 이진 숫자를 기본적으로 표시할 수 있습니다.Binary literals and digit group separators allow native representation of binary numbers. 이 기능을 비트 마스크 및 플래그 열거형 &B1001_0011에 사용하면 매우 간편합니다.This is super convenient for bitmasks and flags enumerations: &B1001_0011.

자세한 내용을 보려면 CSharpLang GitHubVBLang GitHub에서 Microsoft의 언어 디자인에 따라 이러한 언어 확장 및 제안된 다른 언어 확장에 대해 알아보세요.For more information, follow our language design on the CSharpLang GitHub and VBLang GitHub to learn more about these and other proposed language extensions.

빠른 작업 및 리팩터링Quick Actions and Refactorings

Visual Studio에서는 생산성과 코드의 가독성을 높이는 데 도움이 되는 많은 리팩터링을 제공합니다.Visual Studio provides lots of refactorings to help you be productive and make your code more readable. 다음은 몇 가지 예입니다.Here are just a few:

  • 이니셜라이저로 개체 초기화 단순화(그림 20)Simplify object initialization with an initializer (Figure 20).

Use object initializer

(그림 20) 개체 이니셜라이저 사용
Use object initializer
(Figure 20) Use object initializer

  • 새 C#7 기능을 활용하여 out 변수 선언을 인라인으로 이동(그림 21)Move out variable declarations inline, leveraging a new C#7 feature (Figure 21).

Move out variable inline

(그림 21) 변수 인라인 밖으로 이동
Move out variable inline
(Figure 21) Move out variable inline

  • 새 C#7 기능을 활용하여 null 병합 연산자로 null 검사와 throw 식 간소화(그림 22)Simplify null-checks and throw-expressions using null-coalescing operator, leveraging a new C#7 feature (Figure 22).

Use throw expression with null-coalescing operator

(그림 22) Null 병합 연산자로 throw 식 사용
Use throw expression with null-coalescing operator
(Figure 22) Use throw expression with null-coalescing operator

  • 형식을 일치하는 파일로 이동: Ctrl+을(를) 통해 클릭 한 번으로 한 필드의 형식을 압축 해제한 후 그 형식을 이름이 같은 또 다른 파일에 넣습니다.Move type to matching file: Extract a type from one file and put it in another file with a matching name with one click via Ctrl+.
  • 파일 및 형식 이름 동기화: 파일 및 형식 이름이 일치하지 않으면 Ctrl+을(를) 사용할 수 있습니다.Sync file and type name: If your file and type name are out of sync, you can use Ctrl+.
  • String.Format을(를) 문자열 보간으로 변환: 이 빠른 작업과 함께 C# 6개 언어 기능을 활용합니다.Convert String.Format to string interpolation: take advantage of the C# 6 language feature with this Quick Action.
  • C# 스위치 또는 Visual Basic Select에 누락된 대/소문자를 추가합니다.Add missing case(s) to a C# switch or a Visual Basic Select.
  • 속성을 메서드로 변환하거나 그 반대로 합니다.Convert property to a method, and vice versa.
  • 패키지 참조 추가: 인식할 수 없는 형식에 대해 NuGet 패키지 자동 검색과 설치(및 using/Import 추가)를 제공합니다.Add Package Reference: Offers to auto-retrieve and install a NuGet package (and add the using/Import) for an unrecognized type. 이 기능을 사용하려면 도구 > 옵션 > 텍스트 편집기 > [C#/Basic] > 고급 > 참조 어셈블리의 형식에 대한 using 제안/NuGet 패키지의 형식에 대한 using 제안으로 이동합니다.To enable this feature, go to Tools > Options > Text Editor > [C# / Basic] > Advanced > Suggest usings for types in reference assemblies / Suggest usings for types in NuGet packages.
  • 적용 가능한 경우 비동기 메서드를 동기 메서드로 설정합니다.Make async methods synchronous where applicable.
  • 철자가 잘못된 형식에 대해 "유사" 일치를 지원합니다.Support for "fuzzy" matching for misspelled types.
코딩 규칙 구성 및 적용Coding Convention Configuration and Enforcement

EditorConfig에 대한 Visual Studio 지원을 활용하여 커뮤니티와 협력해서 파일 형식에 .NET 코드 스타일 설정을 추가했습니다.Building on Visual Studio's support for EditorConfig, we worked with the community to add .NET code style settings to the file format. 즉, 이제 팀의 고유한 코드 스타일 규칙을 구성하고 소스 제어에서 이를 확인할 수 있으며, 개발자가 코드 입력 시 편집기에 위반 사항이 실시간으로 표시됩니다.This means that you can configure your team's code style conventions, check them into source control, and have violations appear live in the editor as developers are typing. Roslyn 리포지토리의 .editorconfig 또는 설명서에서 모든 코드 스타일 옵션을 확인할 수 있습니다.You can see all the code style options in the Roslyn repo's .editorconfig or in the documentation. 도구 > 옵션 > 텍스트 편집기 > [C#/Basic] > 코드 스타일에서 컴퓨터별 코드 스타일 설정을 계속 구성할 수 있으며, EditorConfig가 있고 충돌하는 경우 이러한 규칙이 재정의됩니다.You can continue to configure your machine-specific code style settings in Tools > Options > Text Editor > [C#/Basic] > Code Style and these rules are overridden when an EditorConfig is present and conflicts.

또한 팀에서 코딩 규칙을 사용자 지정하여 적용할 때 도움이 되도록 다음 항목을 포함하여 스타일 분석기를 추가 또는 업데이트했습니다.We've also added/updated style analyzers to help you customize and enforce coding conventions on your team, including:

  • 명명한 스타일 규칙Naming style rules.
  • "var" 또는 명시적 형식 사용Use of “var” or explicit types.
  • 멤버 액세스에서Use of “this.” “this.”or “Me.” 또는 “Me.” 사용on member access.
  • 식 본문 또는 블록을 사용합니다.Use expression-bodies or blocks.
  • 'cast' 및 'null' 검사에 패턴 일치를 사용합니다.Use pattern-matching for 'cast' and 'null' checks.
  • 명시적 튜플 이름을 사용합니다.Use explicit tuple names.
  • throw 식, 조건부 대리자, 병합 식 및 null 전파를 사용하여 null 검사를 간소화합니다.Simplify null-checking with throw-expressions, conditional delegates, coalescing expressions, and null propagation.
  • 중괄호가 필요합니다.Require braces.

참고: 기본적으로 이러한 코드 스타일 규칙의 여러 개가 편집기에서 제안 사항으로 구성됩니다(그림 23).Note: several of these code style rules are configured as Suggestions in the editor by default (Figure 23).

Configure code style preferences and enforcement from EditorConfig

(그림 23) EditorConfig에서 코드 스타일 기본 설정 및 적용 구성
Configure code style preferences and enforcement from EditorConfig
(Figure 23) Configure code style preferences and enforcement from EditorConfig

IntelliSense 개선 사항IntelliSense Improvements

또한 이 릴리스에서는 IntelliSense의 향상된 기능을 도입했으며 대형 솔루션이나 생소한 코드베이스에서 이 기능을 사용하여 작업하면 생산성이 크게 증가합니다.This release also introduces improvements to IntelliSense that will make you more productive when working in a large solution or an unfamiliar codebase. 유형별(예: 메서드, 속성, 클래스 등)로 멤버 목록을 필터링할 수 있는 아이콘 트레이를 IntelliSense에 추가했습니다.We have added an icon tray to IntelliSense that enables you to filter the member list by type (e.g., methods, properties, classes, etc.). 각 필터 토글에는 바로 가기 키가 연결되어 있으며 바로 가기 키는 아이콘을 마우스로 가리켜 찾을 수 있습니다.Each filter toggle has an associated keyboard shortcut which you can discover by hovering over the icon. 이 기능을 사용하려면 도구 > 옵션 > 텍스트 편집기 > [C#/Basic] > IntelliSense로 이동한 다음 필터링 및 강조 표시에 대한 옵션을 선택합니다(그림 24).To enable this feature, go to Tools > Options > Text Editor > [C# / Basic] > IntelliSense and check the options for filtering and highlighting (Figure 24).

IntelliSense Completion Filtering

(그림 24) IntelliSense 완성 필터링
IntelliSense Completion Filtering
(Figure 24) IntelliSense Completion Filtering

기타 편집기 개선 사항Other Editor Improvements

  • 긴 문자열의 중간에 커서를 놓고 Enter 키를 눌러 긴 문자열을 여러 개의 연결된 문자열로 분할할 수 있습니다.You can now split a long string into multiple concatenated strings by positioning the cursor mid-string and pressing Enter.
  • 진단 및 CodeLens 정보를 계산하는 백그라운드 작업이 있을 때 IDE 응답성이 높아지도록 상당한 작업을 했습니다.We have done considerable work to improve responsiveness of the IDE in presence of background operations that compute diagnostics and CodeLens information.

F#  F# 

F# 4.1 언어 기능 지원Support for F# 4.1 Language Features

  • C# 7/VB 15 튜플과 상호 운용하는 구조체 튜플.Struct Tuples which interop with C# 7/VB 15 Tuples.
  • C# 7 ref 반환 사용을 지원하는 Byref 반환.Byref returns which support consuming C# 7 ref returns.
  • [<Struct>] 특성으로 구조체 레코드 지원(Will Smith)Struct Record support with the [<Struct>] attribute (by Will Smith).
  • [<Struct>] 특성으로 구분된 공용 구조체 지원.Struct Discriminated Union support with the [<Struct>] attribute.
  • FSharp.Core의 지원 함수를 포함하는 새로운 Result<'TSuccess, 'TFailure> 형식(Oskar Gewalli)A new Result<'TSuccess, 'TFailure> type, with supporting functions in FSharp.Core (by Oskar Gewalli).
  • 스택에서 포인터 형식의 로컬 고정을 지원하는 fixed 키워드.The fixed keyword, which supports pinning a pointer-type local on the stack.
  • 숫자 리터럴의 밑줄(Avi Avni)Underscores in numeric literals (by Avi Avni).
  • 호출자 정보 특성 인수(Lincoln AtkinsonAvi Avni)Caller Info Attribute Arguments (by Lincoln Atkinson and Avi Avni).
  • 같은 파일 내의 namespace recmodule rec을(를) 통한 상호 참조 형식 및 모듈.Mutually Referential Types and Modules within the same file via namespace rec and module rec.
  • 형식과 동일한 이름을 공유하는 모듈의 암시적 "모듈" 접미사.Implicit "Module" suffix on modules which share the same name as a type.

F#  컴파일러 및 FSharp.Core의 개선 사항Improvements to the F#  Compiler and FSharp.Core

(대부분 F# 커뮤니티에서 수행)(Many done by the F# community)

Roslyn 작업 영역을 기반으로 한 새 편집기A New Editor Based on Roslyn Workspaces

(뛰어난 F# 커뮤니티에서 제공하는 여러 새 IDE 기능)(Many new IDE features contributed by the outstanding F# community)

F#  커뮤니티의 추가 기여Additional Contributions by the F#  Community

Visual Studio 2017에서 F# 도구의 빌드 사용, 버그 신고, 토론, 버그 수정 및 기능 구현에 대해 전체 F# 커뮤니티에 감사드립니다.We would like to thank the entire F# community for dogfooding builds of F# tooling in Visual Studio 2017, filing bugs, driving discussions, and implementing bug fixes and features. Visual Studio 2017에서 F#의 성공은 F# 커뮤니티 없이는 불가능했을 것입니다.The success of F# in Visual Studio 2017 truly would not have been possible without the F# community. 참가자의 전체 목록을 확인하세요.Please see the full list of contributors.


JavaScript 및 TypeScript JavaScript and TypeScript

TypeScript 2.1TypeScript 2.1

Visual Studio에서 모든 TypeScript 프로젝트에 TypeScript 2.1을 사용할 수 있습니다.TypeScript 2.1 is available for all TypeScript projects in Visual Studio. TypeScript 2.1은 하위 async/await가 가능하고 형식 유추가 개선되었으며 로컬 개체 확장을 제공하는 등 다양한 이점이 있습니다.TypeScript 2.1 delivers down-level async/await, better type inference, local object expansion, and more! 이 릴리스에 대한 자세한 내용은 릴리스 블로그 게시물 또는 전체 변경 로그를 참조하세요.To read more about the release, check out the release blog post or the full change log.

JavaScript 언어 서비스JavaScript Language Service

새로운 JavaScript 언어 서비스(그림 25)가 제공되며 기본적으로 활성화됩니다.A new JavaScript language service (Figure 25) is available and enabled by default. 새 서비스는 보다 풍부한 IntelliSense 기능을 제공하며 JSDoc 설명 주석, ES6 및 Common JS 모듈 형식에 대한 IntelliSense 지원을 추가합니다.The new service provides richer IntelliSense and adds IntelliSense support for JSDoc comment annotations, ES6, and Common JS module formats. 또한 JSX 구문을 지원하고 생성기, 모듈 및 데코레이터와 같은 ES2016 기능도 지원합니다.It also supports JSX syntax and features from ES2016, such as generators, modules, and decorators. 자세한 내용은 이 블로그 게시물이나 GitHub의 JavaScript IntelliSense 설명서를 참조하세요.For more information, see this blog post or the JavaScript IntelliSense documentation on GitHub.

Rich JavaScript IntelliSense for jQuery

(그림 25) jQuery에 대한 풍부한 JavaScript IntelliSense
Rich JavaScript IntelliSense for jQuery
(Figure 25) Rich JavaScript IntelliSense for jQuery

성능 향상Performance Improvements

성능 향상은 이 릴리스에서 가장 중점적으로 다룬 영역 중 하나였습니다.Improving performance was one of the greatest focuses of this release. 메모리 및 응답성 특징을 개선하기 위한 여러 최적화와 더불어, 가장 큰 VS 프로젝트에 메모리 릴리프를 제공하기 위해 전체 JavaScript/TypeScript 언어 서비스가 devenv.exe 외부의 위성 프로세스로 이동되었습니다.Along with several optimizations to improve memory and responsiveness characteristics, the entire JavaScript/TypeScript language service has been moved to a satellite process outside of devenv.exe to provide memory relief to the largest VS projects. 큰 JavaScript 프로젝트에서 작업할 때 Visual Studio 프로세스의 메모리 소비가 감소하고 메모리 부족 크래시가 줄어듭니다.You will see lower memory consumption from the Visual Studio process and less out of memory crashes when working with huge JavaScript projects. 이러한 향상에 대한 자세한 내용은 이 블로그 게시물을 참조하세요.To read more about these improvements, check out this blog post.


디버깅 및 진단 Debugging and Diagnostics

실행하려면 클릭Run to Click

디버깅하는 동안 코드 줄 옆에 있는 아이콘을 클릭하면 해당 줄이 실행됩니다(그림 26).Simply click the icon next to a line of code while debugging to run to that line (Figure 26). 더 이상 코드를 실행하고 원하는 줄에서 중지하기 위해 임시 중단점을 설정하거나 여러 단계를 수행할 필요가 없습니다.No longer set temporary breakpoints or perform several steps to execute your code and stop on the line you want. 이제는 디버거에서 중단 상태인 동안 마우스가 위치한 코드 줄 옆에 실행하려면 클릭 아이콘이 미세하게 표시됩니다.Now while stopped at a break state under the debugger, the Run to Click icon subtly appears next to the line of code that your mouse is hovered over. 마우스를 아이콘으로 이동하여 단추를 클릭하면 코드가 실행되어 다음에 코드 경로에서 이 줄에 도달하면 해당 줄에서 중지됩니다.Move your mouse to the icon and click the button, now your code will run and stop on that line the next time it is hit in your code path. 디버그 > 옵션 > 클릭한 줄까지 실행 사용에서 끌 수 있습니다.Turn it off from Debug> Options > Enable Run to Click.

Run to Click Icon

(그림 26) 실행하려면 아이콘 클릭
Run to Click Icon
(Figure 26) Run to Click Icon

프로세스에 연결 필터Attach to Process Filter

프로세스에 연결 대화 상자(그림 27)에서 쉽게 검색하여 디버거를 연결할 프로세스를 빠르게 찾을 수 있습니다.Easily search in the Attach to Process dialog (Figure 27) to quickly find the process you want to attach the debugger to. 실행 중인 프로세스 목록이 검색 조건에 맞는 항목으로 필터링됩니다.The list of running processes will be filtered to items matching your search. 검색 필터는 고정되기 때문에 대화 상자를 다시 열면 이전 검색 조건이 남아 있습니다.The search filter is sticky and will remember your previous search when you reopen the dialog.

Attach to Process Filter

(그림 27) 프로세스에 연결 필터
Attach to Process Filter
(Figure 27) Attach to Process Filter

프로세스에 다시 연결Reattach to Process

이제 이전에 디버깅한 프로세스에 신속하게 다시 연결할 수 있습니다.You can now quickly reattach to processes you were previously debugging. 새 디버그/프로세스에 다시 연결(Shift+Alt+P) 명령을 트리거하면 이전 디버깅 세션 동안 프로세스에 연결 대화 상자에서 마지막으로 호출한 프로세스에 디버거를 연결하려는 동작이 바로 진행됩니다.Triggering the new Debug/Reattach to Process (Shift+Alt+P) command will immediately try to attach the debugger to the last processes from the previous debugging session that were invoked from the Attach to Process dialog. 디버거는 우선 이전 프로세스 ID와 일치하는 항목이 있는지 찾은 다음 이전 프로세스 이름과 일치하는 항목이 있는지 찾아 프로세스에 다시 연결됩니다.The debugger will reattach to processes by first attempting to match the previous process ID and then by matching to the previous process name. 일치하는 항목이 없거나 이름이 같은 프로세스가 여러 개 발견되면 원하는 프로세스를 선택할 수 있도록 "프로세스에 연결" 대화 상자가 표시됩니다.If no matches are found or there are multiple processes found with the same name, then the "Attach to Process" dialog will appear so you can select the intended process.

새 예외 도우미The New Exception Helper

새 예외 도우미(그림 28)를 사용하여 비모달의 소형 대화 상자에서 예외 정보를 한눈에 볼 수 있으며 내부 예외에 바로 액세스할 수도 있습니다.Use the new Exception Helper (Figure 28) to view your exception information at a glance in a compact non-modal dialog with instant access to inner exceptions. NullReferenceException을 진단하는 동안 예외 도우미 내부에서 바로 null인 항목을 신속하게 확인할 수 있습니다.While diagnosing your NullReferenceException, you can now quickly see what was null from right inside the Exception Helper. 이제 throw된 예외에서 중지된 동안 조건 추가 확인란을 클릭하여 특정 모듈에서 throw된 예외 유형의 중단을 제외할 수 있습니다.You can now exclude breaking on exception types thrown from specific modules by clicking the checkbox to add a condition while stopped at the thrown exception. 예외 도우미의 새로운 장점에 대한 자세한 내용은 이 블로그 게시물을 읽어보세요.Read this blog post for more detailed information on the new benefits of the Exception Helper.

The New Exception Helper dialog

(그림 28) 새 예외 도우미 대화 상자
The New Exception Helper dialog
(Figure 28) The New Exception Helper dialog

예외 설정에 조건 추가Add Conditions to Exception Settings

예외가 발생하면 디버거가 중단하도록 구성할 경우 지정한 모듈에서 예외가 발생할 때만 디버거가 중단하도록 조건을 추가할 수 있습니다(그림 29).When you configure the debugger to break on thrown exceptions, you can add conditions so that the debugger will only break when exceptions are thrown in specified modules (Figure 29).

Edit Conditions dialog box

(그림 29) 조건 편집 대화 상자
Edit Conditions dialog box
(Figure 29) Edit Conditions dialog box

디버거 접근성 향상Debugger Accessibility Improvements

디버거 창 중 일부(호출 스택, 지역, 자동, 조사식 및 간략한 조사식)를 화면 판독기에서 다른 접근성 용도로 효과적으로 사용할 수 있습니다.You can now more effectively use several of the Debugger windows (Call Stack, Locals, Autos, Watch, and Quickwatch) with screen readers and for other accessibility needs.

IntelliTrace의 .NET Core 이벤트 지원IntelliTrace Events for .NET Core

이제 IntelliTrace가 ASP.NET Core 앱에 대해 MVC, ADO.NET 및 HttpClient 이벤트를 지원합니다.IntelliTrace now supports MVC, ADO.NET, and HttpClient events for ASP.NET Core apps. 이러한 이벤트는 진단 도구 창의 이벤트 탭에 표시됩니다.These will appear in the Events tab in the Diagnostic Tools Window.

진단 도구 창 업데이트Diagnostic Tools Window Updates

디버깅 세션을 시작하면 진단 도구 창에 응용 프로그램에 대한 새 요약 뷰(그림 30)가 표시됩니다.When you start a debugging session, you'll see a new Summary view (Figure 30) of your application in the Diagnostic Tools Window. 여기서 다음 작업을 할 수 있습니다.From here, you'll be able to:

Summary tab in Diagnostics Tools Window

(그림 30) 진단 도구 창의 요약 탭
Summary tab in Diagnostics Tools Window
(Figure 30) Summary tab in Diagnostics Tools Window

성능 프로파일러 업데이트Performance Profiler Updates

이제 성능 프로파일러를 실행 중인 프로세스에 연결할 수 있습니다.The Performance Profiler can now attach to a running process. 이제 CPU 사용량 도구, GPU 사용량 도구 및 성능 마법사를 사용하여, 실행 중인 프로세스에 연결할 수 있습니다.The CPU Usage tool, GPU Usage tool, and Performance Wizard now support attaching to a running process.

CPU 사용 도구 업데이트CPU Usage Tool Updates

CPU 사용 도구의 여러 기능이 향상되었습니다.Several improvements have been made to the CPU Usage Tool:

  • 향상된 외부 코드 지원 - 이제 CPU 도구에서 사용자 코드에 의해 호출된 경우 라이브러리 및 프레임워크 비용에 대한 더 나은 통찰력을 제공합니다.Better External Code support - The CPU Tool now gives you better insights into the costs of library and framework functions when called by user code.
  • 함수 뷰(그림 31) - CPU 비용별로 순위가 매겨진 함수를 볼 수 있습니다.Functions view (Figure 31) - A view that ranks functions by their CPU cost.

Functions List

(그림 31) 함수 목록
Functions List
(Figure 31) Functions List

  • 호출자/호출 수신자 뷰(그림 32)에서는 선택한 함수와의 함수 호출 비용을 조사할 수 있습니다.Caller/Callee View (Figure 32) allows you to investigate costs of function calls made to and from a selected function.

Caller / Callee View

(그림 32) 호출자/호출 수신자 뷰
Caller / Callee View
(Figure 32) Caller / Callee View

  • 소스 뷰에서는 CPU 도구에서 함수를 선택할 때 해당 함수의 소스 코드를 표시합니다.Source View shows a function's source code when the function is selected in the CPU Tool.

Chrome 디버깅 지원Chrome Debugging Support

ASP.NET 프로젝트의 디버깅을 시작할 때 Google Chrome을 브라우저로 선택하면 Visual Studio가 Chrome에서 실행 중인 JavaScript를 디버깅합니다.When you start debugging ASP.NET projects and choose Google Chrome as your browser, Visual Studio will debug your JavaScript running in Chrome. 브라우저 내부 개발 도구를 대신 사용하려는 경우 도구 > 옵션 > 디버깅에서 이 기능을 사용하지 않도록 설정할 수 있습니다.If you prefer to use the in-browser development tools instead, you can disable this feature under Tools > Options > Debugging.


Live Unit Testing Live Unit Testing

Live Unit Testing(그림 33)은 유닛 테스트 결과 및 코드 검사를 편집기에 실시간으로 표시하는 Visual Studio 2017 Enterprise Edition의 기능입니다.Live Unit Testing (Figure 33) is a capability in the Visual Studio 2017 Enterprise edition that displays unit test results and code coverage live in the editor. .NET Framework를 대상으로 하는 C# 및 VB 프로젝트에 대해 MSTest, xUnit 및 Nunit을 지원합니다.It supports MSTest, xUnit, and Nunit for C# and VB projects targeting .NET Framework.

Live Unit Testing

(그림 33) Live Unit Testing
자세한 내용은 Live Unit Testing 블로그를 참조하세요.Live Unit Testing
(Figure 33) Live Unit Testing
See the Live Unit Testing blog for more details.


테스트 도구 Testing Tools

테스트 탐색기를 사용하여 자동화를 테스트 사례 작업 항목에 연결Associate automation with test case work items using Test Explorer

이제 테스트 탐색기에서 테스트 메서드를 선택하여 자동화를 테스트 사례 작업 항목에 연결할 수 있습니다(그림 34).You can now associate automation with test case work items (Figure 34) by selecting a test method in the Test Explorer. 또한 이 새로운 환경에서는 선택한 테스트 메서드에 대한 기존 연결도 볼 수 있습니다.This new experience also allows you to view any existing associations for the chosen test method.

테스트 탐색기에서 테스트를 마우스 오른쪽 단추로 클릭하고...Simply right click a test in the Test Explorer...

Test Explorer Associate Automation

(그림 34) 테스트 탐색기 자동화 연결
Test Explorer Associate Automation
(Figure 34) Test Explorer Associate Automation

...연결을 만들려는 테스트 사례 ID를 제공하기만 하면 됩니다(그림 35)....and provide a test case ID to create an association (Figure 35).

Associate Automation

(그림 35) 자동화 연결
Associate Automation
(Figure 35) Associate Automation

이전 버전의 Visual Studio에서는 작업 항목 폼을 사용하여 이 작업을 수행할 수 있었습니다.In previous versions of Visual Studio, this could be done using the work item form. 도구 | 옵션을 사용하여 호환성 모드를 켜면 작업 항목 폼 기반 환경을 사용할 수 있습니다(그림 36).The work-item form based experience can be enabled by turning on the compatibility mode using Tools | Options (Figure 36).

Work Item Form Compatibility mode

(그림 36) 작업 항목 폼 호환성 모드
Work Item Form Compatibility mode
(Figure 36) Work Item Form Compatibility mode


Team Explorer Team Explorer

새로운 Git 기능New Git Features

IDE를 벗어나지 않고 종단 간 워크플로의 더 많은 작업을 수행할 수 있게 해주는 새로운 Git 기능이 Visual Studio 2017에 추가되었습니다.We've added new Git features to Visual Studio 2017 that allow you to do more of your end-to-end workflow without leaving the IDE. 쉽게 나가는 커밋에 대한 차이를 보고, 강제 보내기를 수행하여 다시 지정을 완료하거나 수정된 커밋을 푸시하고, 업스트림 분기를 다시 설정하고, VS에서 패치 다시 지정을 계속할 수 있습니다.You can easily view the diff for outgoing commits, perform a force push to complete a rebase or push an amended commit, unset your upstream branch, and continue a patch rebase from VS. 또한 git.exe로 전환했습니다.Additionally, we have moved to git.exe. 따라서 대부분의 최신 기능을 제공할 수 있습니다.This allows us to provide the most up-to-date features. SSH를 지원하고, 사용자의 구성 옵션을 존중하며, 팀 탐색기에서 명령줄의 표시 내용을 정확하게 보여 줍니다.We support SSH, respect your config options, and show in Team Explorer exactly what you see in the command line. 이러한 기능에 대한 자세한 내용은 블로그 게시물을 참조하세요.To learn more about these features, check out the blog post.

VSTS/TFS에 연결Connect to VSTS/TFS

Visual Studio 시작 페이지 및 팀 탐색기에서 프로젝트에 연결하고 VSTS/TFS의 리포지토리를 복제하는 프로세스가 개인화 및 간소화되어 연결할 프로젝트와 리포지토리를 더 쉽고 빠르게 찾을 수 있습니다.On the Visual Studio start page and in Team Explorer, the process for connecting to projects and cloning repos in VSTS/TFS has been personalized and streamlined, making it faster and easier to find the projects and repos to connect to. 새로운 연결 페이지에 모든 VSTS/TFS 서버에서 매핑하고 복제한 프로젝트 및 리포지토리만(모든 프로젝트에 대한 모든 리포지토리 대신) 표시됩니다.Our brand new Connect page shows only the projects and repos that you have mapped and cloned across all your VSTS/TFS servers (rather than every repo for every project). 또한 더 이상 리포지토리를 복제하기 전에 프로젝트에 연결할 필요가 없습니다.Additionally, you no longer need to connect to a project before cloning repos.

VSTS 및 TFS에 연결하기 위한 대화 상자를 시작하면 새로 디자인된 UX가 표시됩니다.When you launch the dialog to connect to VSTS and TFS, you will see the redesigned UX. 추가한 모든 TFS 서버가 표시된 후 선택한 사용자 계정에 대한 모든 VSTS 서버, 프로젝트 및 리포지토리가 표시됩니다.You will see any TFS servers you've added followed by all VSTS servers, projects, and repos for your selected user account. 보다 유용한 탐색을 위해 결과는 트리 구조로 표시됩니다.The results are listed in a tree to allow for improved navigation. 리포지토리 외에 컬렉션 또는 프로젝트에도 연결할 수 있습니다.You can connect to collections or projects in addition to repos. 자세한 내용은 팀 프로젝트에 연결을 참조하세요.For more information, see Connect to Team Projects.

작업 항목 폼Work Item Forms

Visual Studio 2017에서 Visual Studio Team Services에 연결하여 작업 항목을 열면 작업 항목 폼이 웹 브라우저에 나타납니다(그림 37).When you connect to Visual Studio Team Services from Visual Studio 2017 and open a work item, the work item form will appear in your web browser (Figure 37). 그러나 Team Foundation Server 2015 이전 버전에 연결하는 경우 레거시 작업 항목 폼이 나타납니다.However, if you connect to Team Foundation Server 2015 or earlier, you will see the legacy work item forms.

Work Item Form in Team Explorer

(그림 37) 팀 탐색기의 작업 항목 폼
Work Item Form in Team Explorer
(Figure 37) Work Item Form in Team Explorer


향상된 Visual Studio 피드백 워크플로 Enhanced Visual Studio Feedback Workflow

Visual Studio 2017에는 더 나은 추가 작업 및 공동 작업을 위한 업그레이드된 피드백 환경이 포함되어 있습니다.Visual Studio 2017 includes an upgraded feedback experience for better follow-up and collaboration. 이 업그레이드의 일부로, 완전한 종단 간 피드백 솔루션을 위해 종합적인 웹 포털로 보완되는 보다 협력적인 문제 보고 환경이 Visual Studio에서 제공됩니다.As part of this upgrade, you will notice a more collaborative Report-a-Problem experience in Visual Studio supplemented by a comprehensive web portal for a complete end-to-end feedback solution. 이제 Visual Studio IDE의 문제 보고 기능을 통해 해당 사용자가 제공한 모든 의견에 대한 최신 업데이트를 검색, 팔로우 및 응답하거나 가져올 수 있습니다.You can now search, follow, vote, and get the latest updates on all feedback you have provided via Visual Studio IDE’s Report a Problem feature. 이러한 향상된 환경에서는 사용자에게 받은 많은 피드백이 처리되며 Microsoft 팀과 사용자 간의 양방향 커뮤니케이션이 가능합니다.These enhanced experiences address much of the feedback we received from you and enable bidirectional communication between our teams and you.


Visual Studio 확장성 Visual Studio Extensibility

새 확장성 형식New Extensibility Format

Visual Studio 2017의 새로운 설치 관리자 기술은 사용자가 설치된 도구를 보다 완벽하게 제어할 수 있게 해 줍니다.The new installer technology in Visual Studio 2017 gives you greater control over the tools that are installed. 핵심 Visual Studio 편집기만 설치하는 사용자도 있지만 여러 워크로드를 설치하는 사용자도 있습니다.Some users may install just the core Visual Studio editor while others may install several workloads. 필수 조건인 필요한 기능 및 확장 기능이 설치되어 있는지 확인할 수 있도록 이제 확장 기능 작성자는 매니페스트의 확장에 필요한 개별 구성 요소를 지정할 수 있습니다.To ensure that the prerequisite features and extensions required are installed, extension authors will now be able to specify the individual components required by their extension in the manifest.

새 VSIX 형식으로 빌드하지 않은 확장을 설치하려고 하면 경고가 표시됩니다.Users will be warned when trying to install an extension that was not built using the new VSIX format. 이전 VSIX 형식은 필요한 필수 구성 요소를 지정하지 않기 때문에 이러한 구성 요소를 Visual Studio 2017에서 사용할 수 없는 경우 작동하지 않을 수 있습니다.The old VSIX format does not specify prerequisites needed and may fail to work if those prerequisites are unavailable in Visual Studio 2017. 새 VSIX 형식은 이전 버전과 호환하기 때문에 이전 버전의 Visual Studio(최대 Visual Studio 2012)를 대상으로 지정할 수 있습니다.The new VSIX format is backwards compatible and can target past versions of Visual Studio up until Visual Studio 2012.

VSIX 매니페스트 디자이너가 매니페스트 변경 내용을 반영하도록 업데이트되었습니다.The VSIX manifest designer has been updated to reflect the changes to the manifest. 확장 개발자는 필수 구성 요소 탭(그림 38)에서 설치된 구성 요소 목록을 찾아 해당 확장의 필수 구성 요소로 지정할 수 있습니다.In the prerequisite tab (Figure 38), extension developers can find a list of installed components to specify as a prerequisite for their extension.

Prerequisite

(그림 38) 필수 구성 요소 탭
Prerequisite
(Figure 38) Prerequisite tab

확장을 설치하는 동안 VSIX 설치 관리자(그림 39)가 누락된 구성 요소를 보여주고 확장과 함께 설치합니다.During the installation of the extension, the VSIX installer (Figure 39) will indicate which components are missing and will install them alongside the extension.

VSIXInstaller

(그림 39) VSIXInstaller
VSIXInstaller
(Figure 39) VSIXInstaller

일괄로 확장 수정Modify Extensions in Bulk

Visual Studio를 다시 시작하기 전에 확장 및 업데이트 대화 상자(그림 40)에서 설치, 업데이트 및 제거할 확장을 여러 개 예약할 수 있습니다.In the Extensions and Updates dialog (Figure 40), you can now schedule multiple extensions for installation, update, and uninstallation before needing to restart Visual Studio. 오른쪽 아래에는 예약된 작업이 요약되어 표시됩니다.In the lower right corner, there is a summary of the scheduled tasks. 예약된 수정 작업을 제거하려면 현재 설치 예약된 확장 옆의 X를 클릭합니다.To remove a scheduled modification, click the X next to an extension that is currently scheduled to install.

Extensions and Updates Dialog

(그림 40) 확장 및 업데이트 대화 상자
Extensions and Updates Dialog
(Figure 40) Extensions and Updates Dialog

VSIX 설치 관리자가 모든 Visual Studio 창을 닫은 것을 감지하면 예약된 수정 작업을 시작하여 완료합니다(그림 41).Once the VSIX Installer has detected that all Visual Studio windows are closed, it will start to complete the scheduled modifications (Figure 41).

Batched Modification Installer

(그림 41) 수정 설치 관리자 일괄 처리
Batched Modification Installer
(Figure 41) Batched Modification Installer

Ngen 지원Ngen Support

이제 Ngen(그림 42)을 사용하여 어셈블리를 설치할 수 있습니다.You can now choose to install assemblies using Ngen (Figure 42).

NGEN Properties

(그림 42) NGEN 속성
NGEN Properties
(Figure 42) NGEN Properties

  • Ngen - 어셈블리에서 Ngen을 사용할지 여부Ngen - Whether or not to use Ngen on the assembly.
  • Ngen 응용 프로그램 - /ExeConfig 스위치를 통해 Ngen에 전달할 응용 프로그램Ngen Application - The application to pass into Ngen via the /ExeConfig switch.
  • Ngen 아키텍처 - 네이티브 이미지에 대한 대상 아키텍처.Ngen Architecture - The target architecture for the native image. 옵션은 x86, x64 및 all입니다.Options are: x86, x64, and all.
  • Ngen 우선 순위 - Ngen 우선 순위 수준Ngen Priority - Ngen priority level.

확장 디렉터리 외부에 파일 설치Install Files Outside of Extension Directory

이제 확장 디렉터리 외부에 있는 폴더의 선택 목록에 파일을 설치할 수 있습니다(그림 43).You can now choose to install files to a select list of folders that are outside of the extension directory (Figure 43).

VSIX Properties

(그림 43) VSIX 속성
VSIX Properties
(Figure 43) VSIX Properties

  • VSIX에 포함 - VSIX에 파일을 포함합니다.Include in VSIX - Include the file in your VSIX.
  • 설치 루트 - 파일을 설치할 루트 디렉터리.Install Root - The root directory to install the file. 옵션은 Default(확장 디렉터리 내에 설치), PublicAssemblies, ReferenceAssemblies, MSBuild, Schemas, Licenses, RemoteDebugger 및 VSTargets입니다.Options are: Default (install inside the extension directory), PublicAssemblies, ReferenceAssemblies, MSBuild, Schemas, Licenses, RemoteDebugger, and VSTargets.
  • 대상 경로 - 사용자 컴퓨터에 설치할 파일 이름.Target Path - The name of the file to be installed on the user's machine.
  • VSIX 하위 경로 - 파일을 설치할 설치 루트 아래의 하위 경로.VSIX Sub Path - The sub path under the Install Root where the file will be installed.

로밍 중인 확장 관리자 Roaming Extension Manager

Visual Studio 2017의 새로운 기능인 로밍 중인 확장 관리자는 개발 환경 전체에서 즐겨 사용하는 확장을 추적하는 데 도움이 됩니다.New in Visual Studio 2017, the Roaming Extension Manager helps you keep track of your favorite extensions across all of your development environments. 확장을 로밍하면 클라우드에서 동기화된 목록을 만들어 설치한 확장을 추적합니다.Roaming your extensions keeps track of the extensions you have installed by creating a synchronized list in the cloud.

Visual Studio에 로그인할 때 [도구] > [확장 및 업데이트]에서 확장 목록을 신속하게 확인하고 [로밍 중인 확장 관리자](그림 44)를 클릭할 수 있습니다.When you sign into Visual Studio, you can quickly see a list of your extensions from Tools > Extensions and Updates, and click Roaming Extension Manager (Figure 44). 로밍 중인 확장 관리자는 설치한 확장을 추적하며 로밍 목록에 추가되는 확장을 선택할 수 있도록 합니다.It tracks which extensions you have installed and lets you choose which ones are added to your Roaming list. 매일 갤러리에서 새로운 확장이 제공되므로 이 도구를 사용하면 즐겨 사용하는 확장과 함께 각 개발 환경을 빠르고 쉽게 설정할 수 있습니다.With new extensions appearing in the gallery every day, this tool makes it quick and easy to set up each dev environment with your favorite extensions.

The new Roaming Extension Manager in the Visual Studio IDE

(그림 44) Visual Studio IDE의 새로운 로밍 중인 확장 관리자
The new Roaming Extension Manager in the Visual Studio IDE
(Figure 44) The new Roaming Extension Manager in the Visual Studio IDE

이 기능을 사용할 때 세 가지 아이콘 종류가 표시됩니다.When using this feature, you will notice 3 icon types:

  • 로밍 아이콘 로밍 아이콘 - 로밍 목록에 포함되어 있지만 이 컴퓨터에 설치되지 않은 확장을 나타냅니다.Roamed Icon Roamed Icon - Denotes an extension that is part of your Roaming List, but not installed on this machine. "다운로드" 단추를 통해 이러한 확장을 설치할 수 있습니다.You can install these via the "Download" button.
  • 로밍 및 설치 아이콘 로밍 및 설치 아이콘 - 로밍 목록에 포함되어 있고 이 환경에 설치된 모든 확장을 나타냅니다.Roamed and Installed Icon Roamed & Installed Icon - Denotes all extensions that are part of your Roaming List and installed in this environment. 로밍하지 않도록 결정하는 경우 “로밍 중지” 단추를 통해 이러한 확장을 제거할 수 있습니다.If you decide you do not want to roam, you can remove these via the "Stop Roaming" button.
  • 설치 아이콘 설치 아이콘 - 이 환경에 설치되어 있지만 로밍 목록에 포함되지 않은 모든 확장을 나타냅니다.Installed Icon Installed Icon - Denotes all extensions that are installed in this environment, but are not part of your Roaming List. "로밍 시작" 단추를 통해 로밍 목록에 확장을 추가할 수 있습니다.Extensions can be added to roaming list via the "Start Roaming" button.

이러한 아이콘은 목록의 현재 상태를 보여 줍니다.These icons will show you the current status of your list. 어떠한 확장이든 원하는 상태로 사용할 수 있으므로 필요에 따라 직접 사용자 지정할 수 있으며You can have any extension in any state, so customize to your heart's content! 자동으로 사용자 지정되게 할 수도 있습니다.Or let us do it for you! 로그인되어 있는 동안 다운로드된 모든 확장은 로밍 및 설치로 목록에 추가되므로 로밍 목록에 포함되어 어떠한 컴퓨터에서도 액세스할 수 있게 됩니다.Any extension downloaded while you are signed in will be added to your list as Roamed & Installed and will therefore be part of your Roaming list, giving you access to it from any machine!

프로젝트 및 항목 템플릿 검색 Discovery of Project and Item Templates

Visual Studio 2017부터 템플릿 검색 성능을 개선하기 위해 Visual Studio에서 프로젝트 및 항목 템플릿을 사용하는 방식이 크게 변경되었습니다.Starting in Visual Studio 2017, there is a breaking change with how Visual Studio consumes project and item templates to improve the performance of template discovery. 이제 새 검색 메커니즘에서는 모든 항목 및 프로젝트 템플릿이 템플릿 매니페스트 파일에 정의할 "vstemplate" 스키마를 따라야 합니다.The new discovery mechanism now requires all item and project templates following "vstemplate" schema to be defined in template manifest files. 템플릿 매니페스트 파일에 정의하지 않은 Visual Studio 템플릿은 더 이상 새 프로젝트 또는 새 항목 대화 상자에 표시되지 않습니다.Visual Studio templates that you do not define in a template manifest file will no longer be visible in New Project or New Item dialogs. 새 확장은 VSIX 빌드 타임에 매니페스트를 생성하지만 MSI 패키지의 일부로 릴리스된 Visual Studio 템플릿이 있는 경우 이러한 템플릿에 대한 템플릿 매니페스트 파일은 수동으로 생성해야 합니다.While the new extensibility tooling will generate a manifest during VSIX build time, if you have Visual Studio templates released as part of an MSI package, you must manually generate template manifest files for those templates. 자세한 내용은 Upgrading Custom Project and Item Templates for Visual Studio 2017(Visual Studio 2017의 사용자 지정 프로젝트와 항목 템플릿 업그레이드) MSDN 페이지를 참조하세요.For more information, see the Upgrading Custom Project and Item Templates for Visual Studio 2017 MSDN page.


.NET Core 및 ASP.NET Core .NET Core and ASP.NET Core

새로운 MSBuild 기반 .NET Core 도구의 1.0 최종 릴리스가 포함되어 있습니다.This contains the 1.0 final release of the new MSBuild based .NET Core Tools. Visual Studio 2017을 사용하여 .NET Standard 라이브러리, .NET Core 앱/라이브러리, 새로운 csproj 형식을 사용하는 ASP.NET 웹 프로젝트를 만들 수 있습니다.Using Visual Studio 2017, you can create .NET Standard libraries, .NET Core apps/libraries and ASP.NET web projects that use the new csproj format.

.NET Core 도구가 설치 관리자의 "ASP.NET 및 웹 개발" 워크로드와 ".NET 데스크톱 개발" 워크로드(선택적 구성 요소)에 자동으로 포함됩니다..NET Core tooling is automatically included in the “ASP.NET and web development” workload and an optional component in the “.NET desktop development” workload in the installer. 플랫폼 간 전용 .NET Core 응용 프로그램을 개발하려는 경우 설치 관리자의 "다른 도구 집합" 섹션에서 ".NET Core 플랫폼 간 개발" 작업을 사용하여 .NET Core 및 ASP.NET Core 도구만 설치할 수 있습니다.If you only want to develop .NET Core applications for cross platform use, you can install just the .NET Core and ASP.NET Core tools using the “.NET Core cross-platform development” workload from the “Other Toolsets” section of the installer.

이 릴리스의 고급 기능은 다음과 같습니다.High-level features in this release include the following:

  • MSBuild의 .NET Core 프로젝트 지원 - csproj 프로젝트 형식이 간소화되어 프로젝트를 언로드할 필요 없이 수동으로 쉽게 편집할 수 있습니다.MSBuild support for .NET Core projects, with a simplified csproj project format that makes it easier to edit by hand, without the need to unload the project.
  • 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 "편집"을 선택하기만 하면 .NET Core .csproj 파일을 편집할 수 있습니다.Editing .NET Core .csproj file is as simple as a right click on project in Solution Explorer and choosing “Edit”.
  • 프로젝트 파일에서 파일 와일드카드 지원 - 모든 소스 코드 파일 이름을 열거할 필요가 없으므로 csproj 파일 크기가 작게 유지됩니다.Support for file wildcards in project file, where you don’t have to enumerate all the source code file names, which keeps the csproj file compact in size.
  • 이제 NuGet 패키지 참조가 csproj 파일에 포함되어 모든 프로젝트 참조를 한 파일에 통합합니다.NuGet package references are now part of the csproj file, consolidating all project references in one file.
  • .NET Core, .NET Standard 및 .NET Framework 프로젝트 간의 상호 운용성.Interop between .NET Core, .NET Standard and .NET Framework projects. 예를 들어 .NET Core 프로젝트에서 .NET Standard 프로젝트에 프로젝트 간 참조를 추가할 수 있습니다.For example, a .NET Core project can add a project-to-project reference to a .NET Standard project.
  • 한 프로젝트에서 여러 대상 프레임워크를 상호 지정.Cross-target multiple target frameworks in one project.
  • 기존 project.json .NET Core 프로젝트가 Visual Studio에서 열릴 때 csproj로 자동으로 마이그레이션되거나, [.NET CLI(명령줄 인터페이스)를 사용하여 수동으로 마이그레이션]할 수 있습니다. (https://go.microsoft.com/fwlink/?linkid=842521)Existing project.json .NET Core projects will automatically migrate to csproj when opened in Visual Studio, or you can manually migrate them using the .NET Command Line Interface (CLI).
  • ASP.NET Core 응용 프로그램을 위한 지속적 빌드 통합을 Docker 지원 기능으로 손쉽게 구성할 수 있고 Visual Studio IDE에서 Azure Container Service로의 지속적 빌드 제공을 손쉽게 구성할 수 있음.Easily configure continuous build integration for your ASP.NET Core application with Docker support and continuous build delivery to your Azure Container Services from within the Visual Studio IDE.

자세한 내용은 .NET 블로그를 참조하세요.See the .NET blog for more details.


유니버설 Windows 앱 개발 도구 Tools for Universal Windows App Development

업데이트된 .NET 네이티브 도구 체인Updated .NET Native Toolchain

이 업데이트된 .NET 네이티브 도구 체인을 사용하면 몇몇 최적화 기능을 추가하여 Visual Studio에서 관리되는 UWP 앱의 런타임 성능을 높일 수 있습니다.This updated .NET Native toolchain adds several optimizations to improve runtime performance for managed UWP apps in Visual Studio. 이 릴리스에는 중요한 고객 의견을 해결하고 도구 체인의 전반적인 품질을 향상시키는 600개가 넘는 버그 수정과 기능이 포함되어 있습니다.The release includes more than 600 bug fixes and features to address key customer feedback and improve the overall quality of the toolchain.

5.3.0 Microsoft.NETCore.UniversalWindowsPlatform 패키지5.3.0 Microsoft.NETCore.UniversalWindowsPlatform Package

.NET Core NuGet 프레임워크 라이브러리에 대한 이 업데이트는 고객이 보고한 여러 중요한 문제를 해결합니다.This update to the .NET Core NuGet framework libraries addresses a number of key issues reported by customers. 이 새 버전으로 업데이트하려면 기존 UWP 프로젝트에서 NuGet 참조 관리자를 사용하면 됩니다.Existing UWP projects can use the NuGet reference manager to update to this new version. 또한 새로운 .NET Core 패키지는 .NET 네이티브 도구 체인을 포함합니다.In addition, the new .NET Core package includes the .NET Native toolchain.

Windows 10 1주년 업데이트 SDK 및 에뮬레이터Windows 10 Anniversary Update SDK and Emulator

Windows 10 1주년 업데이트용 Windows SDK 및 Windows Phone 에뮬레이터가 이 릴리스에 포함되어 있습니다.The Windows SDK and Windows Phone emulator for the Windows 10 Anniversary Update are included in this release.

  • 도구 상자에서 만드는 UI 요소에 이제는 더 적은 수의 XAML 태그가 사용되므로 XAML를 보다 쉽게 읽을 수 있습니다.UI Elements created from the Toolbox will now be created with fewer XAML Tags, resulting in cleaner, more readable XAML.
  • XAML 디자이너의 새로운 옵션 도구를 사용하면 개발자는 UI 테마 및 고대비 설정을 선택하여 디자인 화면에서 미리 볼 수 있습니다.A new options tool on the XAML Designer allows the developer to select the UI theme and High Contrast settings to be previewed on the design surface.
  • 속성 창의 값 편집기는 이제 "60+20" 같은 간단한 수학 방정식을 허용합니다.The value editors in the Properties window now accept simple mathematical equations, such as "60+20". 방정식은 즉시 계산되어(이 예에서는 80) 결과 값을 XAML로 전달합니다.The equations will be immediately evaluated (in this case, 80) and their resulting value put into the XAML.

시각적 자산을 만들기 위한 매니페스트 디자이너 기능Manifest Designer Capability for Creating Visual Assets

매니페스트 디자이너(그림 45)는 시각적으로 업그레이드되었으며 이제는 UWP 앱에 대한 시각적 자산을 생성하는 기능이 추가되었습니다.The Manifest Designer (Figure 45) has undergone a visual refresh, and now has the added capability of generating visual assets for your UWP apps. 이제 단일 소스 이미지를 사용하여 모든 대상 장치 유형에 맞는 크기로 타일, 로고, 아이콘 및 시작 화면을 만들 수 있습니다.You can now use a single source image to create tiles, logos, icons, and splash screens at any or all scales to fit every type of device your app targets.

Manifest Visual Asset Generator

(그림 45) 매니페스트 시각적 자산 생성기
Manifest Visual Asset Generator
(Figure 45) Manifest Visual Asset Generator

UI 분석UI Analysis

이제 유니버설 Windows 플랫폼 도구를 통해 접근성 및 성능과 관련된 일반적인 문제를 검색할 수 있습니다.The Universal Windows platform tooling now has the ability to detect common accessibility and performance related issues. 진단 도구 창의 도구 선택 메뉴에서 "UI 분석" 도구를 활성화하면 문제 해결 방법을 설명하는 유용한 문서 링크와 함께 이러한 문제가 보고됩니다.By enabling the "UI Analysis" tool in the Select Tools menu of the Diagnostic Tools window, these issues will be reported along with links to helpful articles explaining how and why the issues should be addressed. UI 분석을 사용하여 개발하면 응용 프로그램 개발 중에 UI 성능 및 접근성을 쉽게 확인할 수 있습니다.Developing with UI Analysis enabled brings UI performance and accessibility to the forefront of your application development.


Xamarin Xamarin

Visual Studio 2017에는 Xamarin 4.4가 포함되어 있습니다.Xamarin 4.4 is included in Visual Studio 2017. 자세한 내용은 Xamarin 릴리스 정보를 참조하세요.For more information, see the Xamarin release notes.

이 Visual Studio용 Xamarin 4.4 릴리스는 Xamarin.iOS 10.8Xamarin.Android 7.2 릴리스를 업데이트합니다.This Xamarin for Visual Studio 4.4 release updates Xamarin.iOS 10.8 and Xamarin.Android 7.2 releases.

버그 수정Bug fixes

이 릴리스에는 다음과 같은 수정 사항이 포함되어 있습니다.This release includes the following fixes:

  • iOS 확장 앱이 빌드되지 않고 “cannot read Entitlements data”(자격 데이터를 읽을 수 없음) 오류가 발생합니다.(4.4.0.31)iOS Extension apps fail to build with error "cannot read Entitlements data".(4.4.0.31)
  • Watson 보고서에 대한 기호를 포함합니다.(4.4.0.6)Includes symbols for Watson reports.(4.4.0.6)
  • 솔루션에 Wix 프로젝트도 포함된 경우 Android 배포에 실패합니다.(4.3.1.39)Android deployment fails if solution also contains a Wix project.(4.3.1.39)
  • 일부 iOS 프로젝트를 여는 중 교착 상태가 발생합니다.(4.3.1.39)Deadlock opening some iOS projects.(4.3.1.39)
  • 두 번째 수준 PCL 참조에서 중단점이 적중되지 않습니다.(4.3.1.39)Breakpoints won't hit on second-level PCL references.(4.3.1.39)
  • CodeSignNativeLibraries 작업 누락으로 인한 iOS 문제를 해결합니다.(4.3.1.39)Fixes iOS issue due to missing CodeSignNativeLibraries task.(4.3.1.39)
  • Mac 서버에 연결한 후 스토리보드를 여는 중 오류가 발생합니다.(4.3.1.39)Error opening storyboard after connecting to Mac server.(4.3.1.39)
  • Android 클래스 라이브러리 프로젝트에서는 [속성] 페이지에 “Android 버전을 사용하여 컴파일”만 포함해야 합니다.(4.3.1.39)Android class library project should only include "Compile using Android Version" on Property page.(4.3.1.39)
  • “도구->옵션->Xamarin->기타” 탭으로 이동하면 Visual Studio가 중단됩니다.(4.3.1.39)Visual Studio hangs when going to the "Tools->Options->Xamarin->Other" tab.(4.3.1.39)
  • 일부 환경에서 플랫폼 간 솔루션을 로드하는 동안 Visual Studio가 중단됩니다.(4.3.1.1)Visual Studio hangs loading a cross-platform solution in some environments.(4.3.1.1)
  • Microsoft.Csharp가 VS 프로젝트 템플릿에서 참조되지 않습니다.(4.3.1.1)Microsoft.Csharp not referenced in VS Project Templates.(4.3.1.1)
  • 구성된 사용자 셸에서 bash 구문을 사용하지 않는 경우 Mac 서버에 연결할 수 없습니다.( 4.3.1.1)Cannot connect to Mac server if configured User Shell doesn't use bash syntax.(4.3.1.1)
  • [Submit to Test Cloud](Test Cloud에 제출) 옵션이 없습니다(VS2013 및 VS2015에서 해결됨).(4.3.1.1)Submit to Test Cloud option missing (fixed on VS2013 and VS2015).(4.3.1.1)
  • 변수/속성 이름이 다음 항목의 클래스 이름과 같은 경우 디버거가 혼동합니다.(4.3.1.1)Debugger gets confused when Variable/Property name is same as Class name of something else.(4.3.1.1)
  • 자산 카탈로그의 이미지 집합 이름을 바꿀 수 없습니다.(4.3.1.1)Image set from asset catalog can't be renamed.(4.3.1.1)
  • '리소스' 폴더가 조사식 확장 프로젝트에서 강제로 숨겨집니다.(4.3.1.1)The 'Resources' folder is being forcibly hidden in watch extension projects.(4.3.1.1)
  • “리소스” 내의 “Assets.xcasset” 폴더가 tvOS 프로젝트에 대해 숨겨지지 않습니다.(4.3.1.1)"Assets.xcasset" folder within "Resources" is not being hidden for tvOS projects.(4.3.1.1)

Apache Cordova용 Visual Studio Tools Visual Studio Tools for Apache Cordova

이 Visual Studio 2017 릴리스에서는 다음과 같은 기능이 개선되었습니다.This Visual Studio 2017 release includes the following improvements:

  • Cordova 시뮬레이트 - 브라우저 기반의 새 시뮬레이터로 코딩을 빠르게 작성하고 브라우저에서 즉시 결과를 볼 수 있습니다(그림 46).Cordova simulate - A new browser-based simulator enables you to code fast and see the results immediately in the browser (Figure 46). Visual Studio는 실시간 다시 로드와 플러그 인 시뮬레이션이 가능하고 Ionic 프레임워크를 지원하기 때문에 시장에서 가장 빠른 개발자 워크플로를 제공합니다.Live reload, plugin simulation, and support for Ionic Framework give Visual Studio the fastest developer workflow on the market.

Cordova simulate

(그림 46) Cordova 시뮬레이트
Cordova simulate
(Figure 46) Cordova simulate

  • iOS 10 및 XCode 8 지원 - 이제 iOS 개발을 위한 remotebuild 서버 에이전트의 업데이트에 XCode 8 지원이 포함됩니다.Support for iOS 10 & XCode 8 - An update of the remotebuild server agent for iOS development now includes support for XCode 8.

  • 오류 색 지정 - 빌드 실패를 진단하려면 개발자가 빌드 출력을 검토해야 하는 경우가 종종 있기 때문에 오류를 쉽게 읽을 수 있도록 빌드 출력 창의 오류에 색을 지정하기 시작했습니다(그림 47).Error colorization - Because diagnosing build failures often requires developers to read through build output, we have started to colorize errors in the build output pane for easier reading (Figure 47). 또한 빌드 프로세스에서 오류가 발생한 위치를 개발자가 쉽게 식별할 수 있도록 빌드 프로세스의 단계를 설명하는 헤더가 추가되었습니다.Moreover, we have added headers to delineate steps in the build process to help developers identify where in the build process the failure occurred.

Pretty printing

(그림 47) 오류 색 지정
Pretty printing
(Figure 47) Colorized Errors

  • 제품 내 구입 - Cordova 앱을 빠르게 구축할 수 있도록 경량 설치 기능을 도입한 것 외에도, 이제는 개발자가 지속적으로 개발하는 중에 Visual Studio 내에서 추가 빌드 조각을 얻을 수 있도록 경로를 추가했습니다(그림 48).In-product acquisition - In addition to the new light-weight installation to get you building Cordova apps faster, we have now added pathways from within Visual Studio to acquire additional build pieces as your development continues (Figure 48). 아직 Android 또는 Windows 구성 요소를 설치하지 않은 경우 Visual Studio 설치를 시작하고 설치 과정을 안내하는 배포 모음을 통해 얻을 수 있습니다.If you have not installed Android or Windows components, you can get them through the deploy bar, which will launch Visual Studio setup and guide you through the installation process.

In-product acquisition

(그림 48) 제품 내 구입
In-product acquisition
(Figure 48) In-product acquisition

  • 신속하고 안정되게 빌드 -새 Visual Studio 설치 관리자에는 철저히 검증된 타사 구성 요소 도구 체인을 오프라인으로 설치할 수 있는 기능이 통합되어 빠르게 빌드를 구축할 수 있고 빌드 문제를 쉽게 해결하고 수정할 수도 있습니다.Fast, reliable builds - The new Visual Studio Installer, combined with offline installation of a fully validated toolchain of 3rd party components, provides for faster builds that are also easier to troubleshoot and fix.
중요

Android 및 Windows용 빌드 도구와 에뮬레이터가 이제 선택 사항입니다.Build tools and emulators for Android and Windows are now optional. 빌드/배포 메뉴 모음을 통해 동적으로 가져올 수 있습니다.You can acquire them dynamically through the build/deploy menu bar. 이번에 발표된 Visual Studio 버전은 Windows 스토어 8.1 프로젝트를 지원하지 않습니다.This release of Visual Studio does not support Windows Store 8.1 projects. Windows 10을 대상으로 하도록 Cordova 프로젝트를 업데이트하는 것이 좋습니다.We recommend that you update your Cordova projects to target Windows 10. 지원되는 최소 Cordova 버전이 6.0.0으로 상승했습니다.Minimum supported Cordova version is raised to 6.0.0. 6.0.0보다 낮은 Cordova 버전을 대상으로 하는 프로젝트를 Visual Studio 2017에서 빌드 및 배포하려면 config.xml에서 해당 프로젝트를 업그레이드해야 합니다.Projects targeting a Cordova version lower than 6.0.0 will need to upgrade their project in config.xml to build and deploy in Visual Studio 2017.


Visual Studio용 Node.js 도구 Node.js Tools for Visual Studio

Visual Studio용 Node.js 도구를 사용하여 Visual Studio를 강력한 Node.js 개발 환경으로 바꿀 수 있습니다.Node.js Tools for Visual Studio turns Visual Studio into a powerful Node.js development environment. 이 릴리스는 안정성, 성능, 전반적인 제품 품질에 중점을 두었고 다음과 같이 다양한 측면을 개선했습니다.This release focuses on stability, performance, and overall product quality, including:

  • 새 Salsa JavaScript 언어 서비스와 더 매끄럽게 통합.Better integration with the new Salsa JavaScript language service.
  • 메모리 및 CPU 사용량 감소 및 프로젝트 로드 시간 단축.Reduced memory and CPU usage, and shorter project load times.
  • Pug 템플릿 파일 지원.Support for Pug template files.
  • 최신 프로젝트 템플릿.More up-to-date project templates.
  • Mocha 3.x 테스트 프레임워크 지원.Support for Mocha 3.x test framework.
  • 많은 버그 수정.Numerous bug fixes.

놀라운 실력으로 이 Visual Studio용 Node.js 도구 릴리스를 가능하게 해주신 모든 참가자께 감사드립니다.Thank you to all the amazing contributors who made this release of Node.js Tools for Visual Studio possible. 자세한 내용은 오픈 소스 GitHub의 Node.js 도구 프로젝트를 확인하세요.For more information, check out the open source Node.js Tools project on GitHub.


Visual Studio Tools for Unity Visual Studio Tools for Unity

Visual Studio를 사용하여 모든 플랫폼에서 가능한 Unity 게임을 작성하고 디버그할 수 있습니다.Use Visual Studio to write and debug Unity games for all platforms. 이제 새로운 Visual Studio 2017 설치 관리자에서 "Unity를 사용한 게임 개발" 작업을 통해 Visual Studio Tools for Unity 3(그림 49)을 설치할 수 있습니다.Visual Studio Tools for Unity 3 (Figure 49) is now available to be installed with the "Game Development with Unity" workload in the new Visual Studio 2017 installer. Visual Studio Tools for Unity 3에서는 전반적인 제품 품질 외에도 Unity 개발자를 위한 코드 편집 및 디버깅 환경을 개선하는 데 중점을 두었으며, 개선 사항은 다음과 같습니다.Visual Studio Tools for Unity 3 focuses on improving the code editing and debugging experience for Unity developers as well as overall product quality, including:

  • IntelliSense의 Unity 메시지 지원.IntelliSense support for Unity messages.
  • Unity 메시지 코드 색 지정.Code colorization of Unity messages.
  • Unity 디버거의 식 계산 개선.Improved expression evaluation in the Unity debugger.
  • 모든 Unity 형식에서 메시지를 받을 수 있도록 지원하기 위해 Unity 메시지 마법사 개선.Improved Unity message wizards to support all Unity types able to receive messages.
  • 다양한 버그 수정 및 최적화 작업.Numerous bug fixes and optimizations.

Code completion session for Unity messages

(그림 49) Unity 메시지에 대한 코드 작성 세션
Code completion session for Unity messages
(Figure 49) Code completion session for Unity messages


RedgateRedgate

Redgate 데이터 도구가 Visual Studio에 포함됨Redgate Data Tools Included with Visual Studio

Visual Studio 2017 DevOps 기능을 SQL Server 데이터베이스 개발로 확장하기 위해 Redgate SQL Prompt Core, Redgate SQL 검색 및 Redgate ReadyRoll Core로 구성된 Redgate Data Tools(Redgate 데이터 도구)를 데이터 저장소 및 처리 작업에서 사용할 수 있습니다.To extend Visual Studio 2017 DevOps capabilities to SQL Server database development, Redgate Data Tools, comprising Redgate SQL Prompt Core, Redgate SQL Search, and Redgate ReadyRoll Core, are now available in the Data Storage and Processing workload.

  • Visual Studio Enterprise 2017에 포함된 Redgate ReadyRoll Core는 마이그레이션 스크립트를 개발하고, 소스 제어를 사용하여 데이터베이스 변경 내용을 관리하고, SQL Server 데이터베이스 변경 내용을 응용 프로그램 변경 내용과 함께 자동으로 안전하게 배포하는 데 도움이 됩니다.Redgate ReadyRoll Core, included with Visual Studio Enterprise 2017, helps you develop migration scripts, manage database changes using source control, and safely automate deployments of SQL Server database changes alongside applications changes.
  • Visual Studio Enterprise 2017에 포함된 Redgate SQL Prompt Core를 사용하면 지능형 코드 완성 기능을 통해 SQL을 더 빠르고 정확하게 작성할 수 있습니다.Redgate SQL Prompt Core, included with Visual Studio Enterprise 2017, helps you write SQL more quickly and accurately with the help of intelligent code completion. SQL 프롬프트는 데이터베이스 및 시스템 개체, 키워드를 자동으로 완성하고 입력 시 열을 제안합니다.SQL Prompt autocompletes database and system objects and keywords, and offers column suggestions as you type. 모든 열 이름이나 별칭을 기억할 필요가 없으므로 코드가 더 깔끔해지고 오류가 줄어듭니다.This results in cleaner code and fewer errors because you don’t need to remember every column name or alias.
  • 모든 버전의 Visual Studio 2017에 포함된 Redgate SQL 검색은 여러 데이터베이스에서 SQL 조각 및 개체를 빠르게 찾을 수 있도록 하여 생산성을 높입니다.Redgate SQL Search, included with all editions of Visual Studio 2017, increases your productivity by helping you quickly find SQL fragments and objects across multiple databases.

NuGet NuGet

Visual Studio 2017에는 NuGet 4.0이 포함되어 있습니다.Visual Studio 2017 includes NuGet 4.0. 이 릴리스는 대다수 프로젝트 유형에 사용되는 패키지 참조를 지원하고 품질과 성능을 개선하는 데 중점을 두었습니다.This release is focused on supporting package reference for the majority project types, quality improvements, and performance improvements:

  • 이제 WPF, WindowsForms 및 UWP 프로젝트에서 패키지 참조를 사용하여 패키지를 관리할 수 있습니다.In WPF, WindowsForms, and UWP projects, packages can now be managed using package references.
  • 경량 솔루션 복원에 대한 NuGet 복원 지원이 개선되었습니다.NuGet restore support has been improved for Lightweight Solution Restore. 이제 프로젝트를 로드하지 않고도 복원 작업을 수행할 수 있습니다.Restores can now be performed without needing to load any projects.
  • .NET Core 및 ASP.NET Core 프로젝트의 패키지가 이제 패키지 참조를 사용하여 관리됩니다.In .NET Core and ASP.NET Core projects, packages are now managed using package references.
  • Visual Studio 2017 이상 버전에서는 이제 컴퓨터 수준의 NuGet.config가 %PROGRAMFILES(X86)%\NuGet\Config\NuGet.config에 있습니다. 앞으로 nuget.exe v4.0.0 +에도 시스템 수준 구성을 저장할 새 위치를 도입할지 검토할 예정입니다.In Visual Studio 2017 and above, the machine-wide NuGet.config is now located at %PROGRAMFILES(X86)%\NuGet\Config\NuGet.config. Going forward, nuget.exe v4.0.0 + will also consider the new location for the machine-wide configuration. 프로그램 데이터에 있는 NuGet.config는 더 이상 암시적으로 참조되지 않으며 nuget.config의 계층적 병합에 고려되지 않습니다.NuGet.config in program data will no longer be implicitly referenced or considered for the hierarchical merging of nuget.config.

XAML 앱용 도구 Tools for XAML Apps

XAML 편집하며 계속하기XAML Edit & Continue

이제 WPF 또는 유니버설 Windows 앱이 실행되는 동안 Visual Studio에서 XAML을 편집할 수 있습니다.Visual Studio now allows you to edit XAML while your WPF or Universal Windows App is running. Visual Studio에서 앱을 디버그하는 동안 XAML 코드 편집기에서 태그를 변경할 수 있으며, 다시 컴파일하지 않아도 변경 내용이 실행 중인 앱에 반영됩니다.While debugging your app in Visual Studio, you can make a change to the markup in the XAML code editor and the change will be reflected in the running app without having to recompile.

XAML 편집기 생산성 향상XAML Editor Productivity Enhancements

  • IntelliSense 필터링 - XAML을 입력하면 완성 목록에 일치하는 형식만 표시되고 가장 가깝게 일치하는 항목이 선택됩니다.IntelliSense filtering - When typing XAML, the completion list will only display types that match and the closest match will be selected.
  • x:Bind용 IntelliSense - 경로 및 이벤트에 바인딩할 때 x:Bind에 IntelliSense 완성 기능이 사용됩니다.IntelliSense for x:Bind - We have enabled IntelliSense completion for x:Bind when binding to Path and Events.
  • 네임스페이스 완성 - 네임스페이스에 대한 참조가 없으면(그림 50) 입력하는 동안 IntelliSense 지원이 제공되지 않습니다.Namespace completion - If the reference to the namespace does not exist (Figure 50), you will not get IntelliSense support while typing. 입력이 완료되면 형식에 대한 접두사를 생성 및 삽입하고 XAML 문서에 네임스페이스 정의를 추가하기 위한 전구 제안 지원을 받을 수 있습니다.When you have finished typing, you will get light bulb suggestion support to generate & insert the prefix for the type and add the namespace definition in your XAML document.

IntelliSense_without namespace

(그림 50) 네임스페이스가 없는 IntelliSense
IntelliSense_without namespace
(Figure 50) IntelliSense_without namespace

  • 네임스페이스에 대한 참조가 이미 있으면 접두사가 필요한 형식일 때 IntelliSense가 접두사 자동 완성 기능을 제안합니다.For types that require a prefix, IntelliSense will offer to auto-complete the prefix if the reference to the namespace already exists.


  • 네임스페이스 접두사 이름 바꾸기 리팩터링 - 접두사에 커서가 있을 때 상황에 맞는 메뉴 또는 바로 가기 키 Ctrl+R+R을 사용하여 이름 바꾸기 작업(그림 51)을 호출할 수 있습니다.Namespace prefix rename refactoring - You can invoke the rename action (Figure 51) from the context menu or using the keyboard shortcut Ctrl+R+R when the cursor is on the prefix. 또한 변경 내용을 적용하기 전에 미리 볼 수 있습니다.You can also preview changes before applying them.

Namespace Prefix Rename

(그림 51) 네임스페이스 접두사 이름 바꾸기
(Figure 51) Namespace prefix rename

  • 네임스페이스 제거 및 정렬 - 이제 상황에 맞는 메뉴 또는 바로 가기 키 Ctrl+R+G를 사용하여 불필요한 네임스페이스를 제거(그림 52)하고 정렬할 수 있습니다.Remove and sort namespaces - You can now remove unnecessary namespaces (Figure 52) and sort them from the context menu or by using the keyboard shortcut Ctrl+R+G. XAML 문서에 불필요한 네임스페이스가 있으면 전구가 표시되고 네임스페이스를 제거할 수 있는 옵션이 제공됩니다.If your XAML document has unnecessary namespaces, you will also see a light bulb that will give you the option to remove them.

Lightbulb_remove unnecessary namespace

(그림 52) 불필요한 네임스페이스를 제거하라는 전구 표시
Lightbulb_remove unnecessary namespace
(Figure 52) lightbulb_remove unnecessary namespace

  • XAML 편집기에 대한 .editorconfig 지원 - .editorconfig 파일에서 indent_style, indent_size 및 tab_width 설정을 정의할 수 있으며, 이 설정은 도구 > 옵션에 정의된 설정 대신 사용됩니다..editorconfig support for XAML editor - You can define settings for indent_style, indent_size, and tab_width in the .editorconfig file which will be used instead of the settings defined in Tools > Options.

  • XAML 편집기의 구조 시각화 도우미 - 이제 구조 시각화 도우미(즉, 들여쓰기 가이드)(그림 53)가 Visual Studio에 기본 제공되며 별도의 확장이 필요하지 않습니다.Structure Visualizer for XAML editor - The structure visualizer (i.e. indent guides) (Figure 53) is now built into Visual Studio, and a separate extension is not required. 이 기능을 사용하면 작업 중인 코드 블록의 컨텍스트를 스크롤 없이 한눈에 파악할 수 있습니다.This feature provides the context of the block of code you are working on at a glance, without scrolling.

Structure Visualizer for XAML editor

(그림 53) XAML 편집기의 구조 시각화 도우미
Structure Visualizer for XAML editor
(Figure 53) Structure Visualizer for XAML editor

XAML 성능 개선XAML Performance Improvements

  • XAML 탭 전환 성능 향상 - XAML 탭 전환 성능이 대폭 향상되었습니다.Improved XAML Tab Switch performance - XAML Tab Switch performance has improved significantly. 샘플 고객 프로젝트에서 전환 시간이 90% 넘게 단축되었습니다.In sample customer projects, we have seen switching time reduce by over 90%.
  • XAML 편집기 입력 지연 해결 - XAML 입력이 그 어느 때보다 더 빨라졌습니다.Addressing XAML editor typing delays - XAML typing is now faster than ever. XAML 편집기 입력 지연을 줄이기 위해 여러 가지 투자가 이루어졌으며, 대부분의 개발자는 XAML 편집기와 XAML IntelliSense의 응답성이 향상된 것을 느낄 수 있을 것입니다.We have made several investments to reduce XAML editor typing delays, and most developers should find the XAML editor and XAML IntelliSense to be more responsive. 특히 타사 컨트롤 또는 대형 컨트롤 라이브러리를 사용하는 프로젝트에서 XAML 파일을 편집할 때 가장 확실하게 느낄 수 있습니다.This will be most apparent when editing a XAML file in projects that consume third party controls or large control libraries.

Data Tools 및 SQL Server Data Tools and SQL Server

SQL Server Data ToolsSQL Server Data Tools

Visual Studio 2017에는 SQL Server Data Tools의 최신 업데이트가 포함되어 있으며, 이 업데이트를 통해 Azure SQL DatabaseSQL Server 2016의 최신 기능이 지원됩니다.The latest update of SQL Server Data Tools has been included in Visual Studio 2017, which enables support for the latest features in Azure SQL Database and SQL Server 2016.

이 릴리스에는 지원되는 모든 버전의 SQL Server와 데이터베이스 플랫폼(온-프레미스와 클라우드 모두)에서 Visual Studio로 간편하게 데이터베이스를 개발하고 테스트하고 배포할 수 있는 특징이 통합되었습니다.This release brings together the ease of developing, testing, and deploying a database on all supported versions of SQL Server and database platforms - both on-premises and cloud - by using Visual Studio. 또한 릴리스는 데이터베이스 프로그래밍 기능 노출 영역이 강화되었으며, SQL Server Data Tools의 SQL 연결 환경을 개선하여 이제는 간단한 클릭으로 연결할 수 있는 SQL Server 및 Azure SQL 데이터베이스를 자동으로 검색합니다.The release also includes database programmability surface area enhancements, and it improves the SQL connection experience in SQL Server Data Tools, which now automatically discovers SQL Server and Azure SQL Databases that you can connect to with a simple click.

그 밖에도 Visual Studio 2017에서는 Azure Active Directory 통합 및 암호 인증뿐 아니라 새로운 Azure SQL Database 인증 형식도 처리합니다.Additionally, Visual Studio 2017 addresses new Azure SQL Database authentication types, as well as Azure Active Directory Integrated and Password authentication.


개발자 분석 도구 Developer Analytics Tools

Visual Studio 2017에는 다음과 같은 향상된 기능과 함께 개발자 분석 도구 v8.6이 포함되어 있습니다.Visual Studio 2017 includes Developer Analytics Tools v8.6, with the following improvements:

  • 이제 CodeLens가 데이터를 Application Insights 리소스로 전송하는 프로젝트에서 디버그 및 라이브 원격 분석 데이터를 둘 다 표시합니다.CodeLens now shows both debug and live telemetry data in projects that send data to an Application Insights resource.
  • 예외에 대한 CodeLens는 예외가 사용자에게 미치는 영향을 보여 주기 위해 응용 프로그램 분석에 연결합니다.CodeLens for exceptions links to Application Analytics to show user impact of an exception.
  • CodeLens는 Application Insights SDK를 사용하는 프로젝트에 로컬 디버그 세션의 요청을 표시합니다.CodeLens shows requests from local debug sessions, in projects with the Application Insights SDK.
  • 이제 요청 및 예외에 대한 CodeLens를 Visual Basic 프로젝트에서 사용할 수 있습니다.CodeLens for requests and exceptions are now available from Visual Basic projects.
  • 이제 Visual Studio에서 앱을 게시한 후 알림 메시지에 라이브 메트릭이 표시됩니다.Live Metrics are now shown in a toast notification after you publish your app from Visual Studio.
  • 이제 Application Insights 가격 정보가 구성 창에 표시됩니다.Application Insights pricing information is now shown in the Configuration window.
  • 이제 가용성 이벤트가 검색 및 추세 도구에 표시됩니다.Availability events are now shown in the Search and Trends tools.
  • 이제 검색 및 진단 도구의 이벤트는 SDK의 적응 샘플링을 기반으로 발생한 횟수를 표시합니다.Events in the Search and Diagnostic Tools now show counts for how often they occurred based on adaptive sampling in the SDK.
  • CodeLens에서는 Application Insights SDK를 사용하는 프로젝트에 대한 로컬 디버그 세션 중 발생한 예외를 보여 줍니다.CodeLens shows exceptions that have occurred during local debug sessions for projects with the Application Insights SDK.
  • Application Insights 구성 창에 대한 새로운 디자인.New design for the Application Insights Configuration window.
  • 이제 예외용 CodeLens에 응용 프로그램 분석에 대한 링크가 있어서 예외가 사용자에게 미친 영향을 확인할 수 있습니다.CodeLens for exceptions now has a link to Application Analytics to see the impact an exception has had on users.
  • 이제 프로젝트에 Application Insights를 추가할 때 페이지 보기 원격 분석을 수집하기 위한 Application Insights JavaScript SDK가 추가됩니다.The Application Insights JavaScript SDK for collecting page view telemetry is now added when Application Insights is added to a project.
  • 이제 Visual Studio에서 앱을 게시할 때 주석 게시가 Application Insights 리소스에 전송됩니다.Publish annotations are now sent to your Application Insights resource when you publish your app from Visual Studio.
  • 이제 빨간색 및 노란색 Application Insights CodeLens 표시기에 대해 스크롤 막대 표식이 표시됩니다.Scrollbar markers are now shown for red and yellow Application Insights CodeLens indicators.

Application Insights에 대한 자세한 내용은 Microsoft Azure 설명서를 참조하세요.Learn more about Application Insights in the Microsoft Azure documentation.


Visual Studio용 Office 개발자 도구 Office Developer Tools for Visual Studio

이 릴리스에는 다음과 같은 최신 기능과 업데이트를 제공하는 Office 개발자 도구가 포함되어 있습니다.This release includes Office Developer Tools with the latest features and updates, as follows:

  • Excel, Word, PowerPoint 및 Outlook과 관련된 새 Office 추가 기능 템플릿New Office Add-in templates specific to Excel, Word, PowerPoint, and Outlook.
  • 추가 기능 명령, 패브릭 UI, 새 버전의 Office.js와 같은 새로운 Office 추가 기능 지원Support for new Office Add-in features such as add-in commands, Fabric UI, and a new version of Office.js.
  • 새 Office 추가 기능 사용을 시작하는 방법을 보여 주는 템플릿의 새로운 시작 코드New starter code in the templates that will showcase how to get started with new Office Add-in features.
  • SharePoint 솔루션 및 추가 기능 템플릿에서 SharePoint 2016 지원Support for SharePoint 2016 in SharePoint solutions and add-in templates.

라이브 아키텍처 종속성 유효성 검사 Live Architecture Dependency Validation

Visual Studio Enterprise에서 종속성 유효성 검사 다이어그램(즉, 레이어 다이어그램)을 설정한 경우 이제 코드 편집기에 코드를 입력할 때 아키텍처 종속성 규칙 위반에 대한 알림이 실시간으로 제공됩니다(그림 54).If you have setup Dependency Validation diagrams (aka Layer diagrams) in Visual Studio Enterprise, you now get real-time notifications (Figure 54) of any violations of the architectural dependency rules as you type your code in the Code Editor. 오류 목록에 오류가 표시되고, 텍스트 편집기의 물결선은 정확한 위반 위치를 보여 줍니다.Errors appear in the Error List and squiggles will appear in the text editor showing you the precise location of the violation. 이제 원치 않는 종속성이 늘어날 가능성이 줄었습니다.You are now less likely to introduce unwanted dependencies.

Live Architecture Dependency validation

(그림 54) 라이브 아키텍처 종속성 유효성 검사
Live Architecture Dependency validation
(Figure 54) Live Architecture Dependency validation


개발자 명령 프롬프트 Developer Command Prompt

Visual Studio 2017 개발자 명령 프롬프트 스크립트가 새로운 설치 환경을 지원하도록 리팩터링되었습니다.The Visual Studio 2017 Developer Command Prompt scripts have been refactored to support the new installation experience:

  • 환경 변수에는 설치된 워크로드만 반영됩니다.Environment variables will reflect installed workloads only.
  • Vosual Studio 개발자 명령 프롬프트 바로 가기는 이전 버전과 호환되어야 합니다.The Visual Studio Developer Command Prompt shortcut should be compatible with previous releases.
  • 이제 명령줄 인수를 통해 개발자 명령 프롬프트 스크립트를 구성할 수 있습니다.You can now configure Developer Command Prompt scripts via command line arguments:
    • 자세한 내용을 보려면 명령 프롬프트에서 common7\tools\vsdevcmd.bat -help(Visual Studio 설치 디렉터리에서)를 호출하세요.In a command prompt, call common7\tools\vsdevcmd.bat -help (from the Visual Studio installation directory) for details.

.NET용 Azure SDK Azure SDK for .NET

이제 새로운 Visual Studio 설치 관리자를 사용하여 .NET Visual Studio용 Azure SDK를 설치할 수 있습니다.The Azure SDK for .NET Visual Studio is now available to be installed with the new Visual Studio installer. 이전에 웹 플랫폼 설치 관리자를 사용하여 .NET용 Azure SDK를 설치했다면, 이제는 새로운 Visual Studio 설치 관리자로 Azure 워크로드를 설치하여 동일한 구성 요소를 얻을 수 있습니다.If you previously installed the Azure SDK for .NET using the Web Platform Installer, you can now get the same components by installing the Azure workload using the new Visual Studio Installer. 설치되는 패키지는 SDK 2.9.5 버전과 기능 수준이 동일합니다.The packages that are installed are at the same feature level as the 2.9.5 version of the SDK. 이 버전의 Visual Studio 및 모든 향후 버전의 경우 Visual Studio 설치 관리자를 통해 .NET용 Azure SDK가 제공됩니다.For this version of Visual Studio and all future versions, the Azure SDK for .NET will only be available from the Visual Studio installer.


Visual Studio 2017 릴리스 정보 기록Visual Studio 2017 Release Notes History

Visual Studio 2017 미리 보기 릴리스 정보Visual Studio 2017 Preview Release Notes

The Developer Community Portal Visual Studio 2017 버전 15.5에서 해결된, 고객이 보고한 문제를 참조하세요.The Developer Community Portal See customer-reported issues fixed in Visual Studio 2017 version 15.5.

Visual Studio 2017 현재 릴리스 정보Visual Studio 2017 Current Release Notes

The Developer Community Portal Visual Studio 2017 버전 15.5에서 해결된, 고객이 보고한 문제를 참조하세요.The Developer Community Portal See customer-reported issues fixed in Visual Studio 2017 version 15.5.

Visual Studio 2017 버전 15.4 릴리스 정보Visual Studio 2017 version 15.4 Release Notes

The Developer Community Portal Visual Studio 2017 버전 15.4에서 해결된, 고객이 보고한 문제를 참조하세요.The Developer Community Portal See customer-reported issues fixed in Visual Studio 2017 version 15.4.

Visual Studio 2017 버전 15.3 릴리스 정보Visual Studio 2017 version 15.3 Release Notes

The Developer Community Portal Visual Studio 2017 버전 15.3에서 해결된, 고객이 보고한 문제를 참조하세요.The Developer Community Portal See customer-reported issues fixed in Visual Studio 2017 version 15.3.

Visual Studio 2017 버전 15.2 릴리스 정보Visual Studio 2017 version 15.2 Release Notes

The Developer Community Portal Visual Studio 2017 버전 15.2에서 해결된, 고객이 보고한 문제를 참조하세요.The Developer Community Portal See customer-reported issues fixed in Visual Studio 2017 version 15.2.

Visual Studio 2017 버전 15.1 릴리스 정보Visual Studio 2017 version 15.1 Release Notes

The Developer Community Portal Visual Studio 2017 버전 15.1에서 해결된, 고객이 보고한 문제를 참조하세요.The Developer Community Portal See customer-reported issues fixed in Visual Studio 2017 version 15.1.


맨 위로 이동

Top of Page