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


개발자 커뮤니티 | 시스템 요구 사항 | 호환성 | 배포 가능한 코드 | 사용 조건 | 블로그 | 알려진 문제Developer Community | System Requirements | Compatibility | Distributable Code | License Terms | Blogs | Known Issues



참고

이것은 최신 버전의 Visual Studio가 아닙니다.This is not the latest version of Visual Studio. 최신 릴리스를 다운로드하려면 Visual Studio 2019용 현재 릴리스 정보를 방문하세요.To download the latest release, please visit the current release notes for Visual Studio 2019.


Visual Studio 2017을 다운로드하려면 다운로드 단추를 클릭하고 메시지가 표시되면 Visual Studio Subscription으로 로그인합니다.To download Visual Studio 2017, click the download button and log in with your Visual Studio Subscription when prompted. Visual Studio Subscription이 없는 경우 로그인 페이지에서 “새 Microsoft 계정 만들기”를 클릭하여 비용 없이 만들 수 있습니다.If you don’t have a Visual Studio Subscription, you can create one for free by clicking on “Create a new Microsoft account” on the login page. 최신 기능과 버그 수정 기능을 사용하려면 Visual Studio 2019를 사용하는 것이 좋습니다.We recommend using Visual Studio 2019 to get the latest features and bug fixes.

이전 버전 페이지를 방문하여 다른 Visual Studio 2017 제품을 다운로드합니다.Visit the older version page to download other Visual Studio 2017 products.


15.8의 새로운 기능What's New in 15.8

Visual Studio 블로그 는 엔지니어링 팀의 제품 정보가 제공되는 공식 출처입니다.The Visual Studio Blog is the official source of product insight from the Visual Studio Engineering Team. 다음 게시물에서 Visual Studio 2017 버전 15.8 릴리스에 대한 심층 정보를 찾을 수 있습니다.You can find in-depth information about Visual Studio 2017 version 15.8 releases in the following posts:

Visual Studio 2017 버전 15.8 릴리스Visual Studio 2017 version 15.8 Releases

중요

Visual Studio 2017 버전 15.8 보안 권고 알림Visual Studio 2017 version 15.8 Security Advisory Notices

15.8의 주요 새 기능 요약Summary of Notable New Features in 15.8

15.8에서 해결된 주요 문제Top Issues Fixed in 15.8

고객이 보고한 문제 중 15.8에서 해결된 문제는 다음과 같습니다.These are the customer-reported issues addressed in 15.8:

Visual Studio 2017 버전 15.8에서 해결된 모든 고객 보고 문제를 확인하세요.See all customer-reported issues fixed in Visual Studio 2017 version 15.8.

The Developer Community Portal


15.8의 새로운 기능에 대한 세부 정보Details of What's New in 15.8

Release Notes Icon Visual Studio 2017 버전 15.8.0Visual Studio 2017 version 15.8.0

릴리스 날짜: 2018년 8월 14일released on August 14, 2018

15.8의 새 기능New Features in 15.8

설치Install

설치를 시작하기 전에 모든 설치 파일을 다운로드하는 옵션이 생겼습니다.You now have the option to download all installation files before starting your installation.

  • 이 옵션을 사용하려면 설치 관리자 (그림 1) 에서 "모두 다운로드한 후 설치" 옵션을 선택하세요.To use this new option, select the "Download all, then install" option in the installer (Figure 1). 인터넷 연결이 느린 경우 이 옵션을 권장합니다.We suggest this option if you have a slower internet connection.
  • 기본 옵션은 다운로드와 설치를 동시에 진행하는 "다운로드하는 동안 설치"로 유지됩니다.The default option remains "Install while downloading", which downloads and installs in parallel.
Download Otion
(그림 1) 다운로드 옵션(Figure 1) Download Option

성능Performance

이 릴리스에서는 다음과 같이 성능이 개선되었습니다.This release contains the following performance improvements:

  • 더 이상 솔루션을 다시 로드할 필요가 없기 때문에 대규모 솔루션에서 C#, VB 및 C++ 프로젝트에 대한 분기 전환이 훨씬 빨라졌습니다.Branch switching for C#, VB, and C++ projects is much faster for large solutions since solution reload is no longer required.
  • 대규모 솔루션에서 작은 C# 및 VB 프로젝트 집합을 언로드 및 다시 로드하는 시간이 몇 분에서 몇 초로 줄었습니다.We reduced the time to unload and reload a small set of C# and VB projects in large solutions from minutes to several seconds.
  • 특정 유형의 파일 또는 디자이너를 다시 열면 솔루션 로드가 지연될 수 있으므로 이전 세션에서 열린 문서를 사용 열지 못하게 하는 옵션이 추가되었습니다.We added an option to disable reopening documents that were open in the previous session, as reopening certain types of files or designers can delay solution load.
    • 이 옵션은 도구 > 옵션 > 프로젝트 > 솔루션 > 일반 에서 설정/해제할 수 있습니다.Toggle this option in Tools > Options > Projects > Solutions > General.

성능 테스트Test Performance

여러 테스트 프로젝트가 포함된 대규모 솔루션에서 몇 가지 테스트를 실행할 때 성능이 대폭 향상되었습니다.We significantly improved performance when running a few tests in a large solution with multiple test projects. 랩에서는 MSTests 10,000개 이상이 포함된 솔루션이 단일 테스트를 최대 82%까지 더 빠르게 실행했습니다.In our labs, a solution with over 10,000 MSTests executed a single test up to 82% faster!

Visual Basic 성능 향상Visual Basic Performance Improvement

이제 Visual Basic은 CInt(Fix(number)) 패턴을 사용하여 정수가 아닌 형식에서 정수로 변환할 때 엄청나게 향상된 성능을 제공합니다.Visual Basic now provides a significant performance improvement when using the pattern CInt(Fix(number)) to convert from non-integer types to integers.

성능 프로파일링Performance Profiling

이 릴리스에서는 다음과 같이 성능 프로파일링이 개선되었습니다.This release contains the following performance profiling enhancements:

  • 일시 중지된 상태에서 프로파일링을 다시 시작하는 기능이 추가되었습니다.We added the capability to start profiling in a paused state:

    • 성능 프로파일러(ALT-F2)의 CPU 사용량 도구를 이제 일시 중지된 상태 (그림 2) 에서 시작할 수 있습니다.The CPU Usage tool in the Performance Profiler (ALT-F2) can now be started in a paused state (Figure 2). 이는 CPU 사용량 조사에 적합한 시나리오를 기다리는 동안 유용할 수 있습니다.This can be useful while waiting for a scenario worthy of a CPU Usage investigation. 시작 시 CPU 사용량 수집을 비활성한 경우 성능 프로파일러는 특별히 활성화될 때까지 CPU 사용량 샘플 스택 데이터를 수집하지 않습니다.If CPU usage collection is disabled at startup, the Performance Profiler will not collect any CPU usage sample stack data until it is specifically enabled. 따라서 수집 및 분석할 데이터 양이 줄어들어 성능 조사의 효율성이 향상됩니다.This results in a smaller amount of data to collect and analyze, thus making your performance investigations more efficient.

    • CPU 사용량 샘플 수집이 비활성화된 세션을 시작하려면 성능 프로파일러 시작 페이지에서 CPU 사용량 옆의 기어 아이콘을 클릭합니다.To start a session with CPU Usage sample collection disabled, click the gear icon next to CPU Usage on the Performance Profiler launch page. CPU 사용량 속성 페이지에서 CPU 프로파일링(샘플링) 사용 을 선택 취소하고 확인 을 클릭하여 설정을 저장합니다.On the CPU Usage property page, uncheck Enable CPU Profiling (Sampling) and click OK to save the settings.

      CPU Usage Tool settings page
      (그림 2) CPU 사용량 도구 설정(Figure 2) CPU Usage Tool Settings
    • 대상 애플리케이션을 시작하면(성능 프로파일러 시작 페이지에서 시작 클릭) CPU 프로파일링을 제어할 수 있는 CPU 사용률 그래프 (그림 3) 가 표시됩니다.Once you start the target application (click Start on the Performance Profiler launch page), you will see the CPU utilization graph (Figure 3) which allows you to control CPU profiling. CPU 사용량 샘플 스택 데이터 수집을 활성화하려면 보기 가운데에서 CPU 프로파일링 사용 을 선택하거나 CPU 사용률 그래프 바로 아래에서 CPU 프로필 기록 을 클릭합니다.To enable CPU usage sample stack data collection, select Enable CPU profiling in the middle of the view, or click Record CPU Profile just below the CPU utilization graph. CPU 프로필 기록 을 클릭하여 원하는 횟수만큼 샘플 데이터 수집을 설정/해제할 수 있습니다.You can click Record CPU Profile to enable/disable sample data collection as many times as you like. CPU 사용률 그래프의 색상은 해당 시점에 샘플 수집이 설정되었는지 아니면 해제되었는지를 나타내도록 변화합니다.The CPU utilization graph color changes to indicate whether sample collection is enabled/disabled at that point in time.

      CPU Usage Tool monitoring view
      (그림 3) CPU 사용량 사용률 그래프(Figure 3) CPU Usage Utilization Graph
  • .NET 개체 할당 추적 도구가 추가되었습니다.We added a .NET Object Allocation Tracking tool:

    • .NET 개체 할당 추적 도구는 성능 프로파일러에 제공되는 도구 제품군을 연결합니다.The .NET Object Allocation Tracking Tool joins the family of tools available from the Performance Profiler. 성능 프로파일러 세션에 대해 이 도구를 호출하면 대상 애플리케이션에서 발생하는 모든 .NET 개체 할당에 대한 스택 추적 수집이 시작됩니다.Invoking this tool for a performance profiler session initiates the collection of a stack trace for every .NET object allocation that occurs in the target application. 이 스택 데이터를 개체 형식 및 크기 정보와 함께 분석하여 애플리케이션의 메모리 작업 세부 정보를 표시합니다.This stack data is analyzed along with object type and size information to reveal details of the memory activity of your application. 신속하게 코드의 할당 패턴을 확인하고 잘못된 부분을 식별할 수 있습니다.You can quickly determine the allocation patterns in your code and identify anomalies. 또한 GC(가비지 수집) 이벤트의 경우, 어떤 개체가 수집되고 유지되는지 쉽게 확인하고 애플리케이션의 메모리를 가장 많이 사용하는 개체 형식을 신속하게 식별할 수 있습니다.In addition, for Garbage Collection (GC) events, you can easily determine which objects were collected and retained and quickly identify object types that dominate the memory usage of the application.
    • 이는 API 작성기이 할당을 최소화하는 데 특히 유용합니다.This is especially useful for API writers to help minimize allocations. 많은 애플리케이션이 진단 데이터 수집과 관련된 버퍼 한도를 초과하지만, API의 주요 시나리오를 실행하는 작은 테스트 애플리케이션을 잘 진단할 수 있습니다.Many applications will overrun the buffer limits involved in the diagnostics data collection, but small test applications exercising an API's key scenarios can be diagnosed quite well. 테스트 애플리케이션이 실행되는 동안 성능 프로파일러는 라이브 개체(개수)의 선 그래프와 개체 델타(변경율) 막대 그래프를 표시합니다.While your test application is executing, the Performance Profiler displays a line graph of Live Objects (count), as well as an Object Delta (% change) bar graph.
    • .NET 개체 할당 추적 도구를 사용하려면 성능 프로파일러 시작 페이지 (그림 4) 를 표시하고 프로파일링할 대상을 선택하고(기본 대상은 솔루션의 시작 프로젝트), 사용 가능한 도구 아래에서 .NET 개체 할당 추적 을 선택한 다음, 시작 을 클릭합니다.To use the .NET Object Allocation Tracking Tool, display the Performance Profiler launch page (Figure 4), select a target to profile (the default target is the startup project in the solution), check .NET Object Allocation Tracking under Available Tools, then click Start.
    Performance Profiler launch page
    (그림 4) 성능 프로파일러 시작 페이지(Figure 4) Performance Profiler Launch Page

성능 프로파일링(CPU 사용량)Performance Profiling (CPU Usage)

이 릴리스에서는 성능 프로파일러의 CPU 사용량 도구(ALT-F2 를 통해 사용 가능)가 다음과 같이 개선되었습니다.This release contains the following improvements to the CPU Usage tool of the Performance Profiler (available through ALT-F2):

  • 이제 호출 트리 뷰는 기본적으로 비동기 실행을 논리 호출 스택별로 표시합니다.The Call Tree view now displays asynchronous execution by logical call stack by default. [CPU 사용량] 기본 보기의 [필터] 드롭다운에서 비동기 코드 붙이기 옵션을 선택 취소하여 이 동작을 해제할 수 있습니다.You can turn off this behavior by unchecking the option Stitch Async Code in the Filter dropdown of the CPU Usage main view.
  • 모듈(dll) 및 모듈 내 함수별로 성능 정보를 표시하는 모듈/함수 보기가 추가되었습니다.We added a Modules/Functions view that displays performance information by module (dll) and by function within a module. CPU 사용량 기본 보기에서 함수를 선택하면 제공되는 팝업 메뉴에서, 또는 호출 트리 또는 호출자/호출 수신자 보기에서 모듈/함수 보기를 표시할 수 있습니다.One can display the Modules/Functions view from the context menu available when selecting a function in the CPU Usage main view, or from the View dropdown in the Call Tree or Caller/Callee views.
  • CPU 사용량 도구의 기본 보기에서 CPU 사용량 그래프에 인스턴스 표시가 추가되었습니다.Instance indication has been added to the CPU Usage graph in the CPU Usage tool's main view. 함수가 실행 중일 때(예를 들어 스택에서) CPU 사용량 보기에 나열된 함수를 두 번 클릭하면 인스턴스를 볼 수 있습니다.You can view the instances when a function is executing (for instance, on the stack) by double-clicking a function listed in any of the CPU Usage views.

생산성Productivity

이 릴리스에서는 다음과 같이 생산성이 향상되었습니다.This release contains the following productivity enhancements:

  • C# 개발용 문서 서식 을 사용하여(Ctrl + K, D 또는 Ctrl + E, D) 추가 코드 정리를 수행할 수 있습니다.You can perform additional code cleanup with Format Document (Ctrl + K, D or Ctrl + E, D) for C# development. 도구 > 옵션 > 텍스트 편집기 > C# > 코드 스타일 > 서식 > 일반 을 선택하여 정리를 구성합니다.Configure cleanup by going to Tools > Options > Text Editor > C# > Code Style > Formatting > General.
  • Ctrl + .We added more refactorings and quick actions using Ctrl + . 또는 Alt + Enter 를 사용하는 리팩터링 및 빠른 작업이 추가되었습니다.or Alt + Enter:
    • Invert If 는 if-else 문의 논리를 반전할 수 있습니다.Invert If enables you to invert your logic in if-else statements. 커서를 if 키워드에 놓으면 이 리팩터링이 트리거됩니다.Place your cursor in the if keyword to trigger this refactoring.
    • 메서드 호출 사이트에서 매개 변수 추가 를 사용하면 메서드 호출 사이트에 인수를 추가하고 빠른 작업 및 리팩터링 을 트리거하여 메서드에 매개 변수를 추가할 수 있습니다.Add parameter from method callsite allows you to add a parameter to a method by adding an argument to a method callsite and triggering Quick Actions and Refactorings.
    • 불필요한 괄호 제거 는 컴파일에 꼭 필요하지 않은 이진 연산자 주변의 괄호를 제거합니다.Remove unnecessary parentheses removes parentheses around binary operators that are not essential for compilation. 이 스타일 규칙은 도구 > 옵션 >텍스트 편집기 > C# > 코드 스타일 > 일반 또는 .editorconfig를 통해 구성할 수 있습니다.You can configure this style rule through Tools > Options > Text Editor > C# > Code Style > General or .editorconfig:
      • dotnet_style_parentheses_in_arithmetic_binary_operators
      • dotnet_style_parentheses_in_relational_binary_operators
      • dotnet_style_parentheses_in_other_binary_operators
      • dotnet_style_parentheses_in_other_operators
    • 또한 도구 > 옵션 > ... 또는 .editorconfig를 통해 ‘할당에 삼항 조건을 사용하고 return 문’을 스타일 규칙으로 구성할 수 있습니다.Use ternary conditionals in assignments and return statements can also be configured as a style rule in Tools > Options > ... or through .editorconfig:
      • dotnet_style_prefer_conditional_expression_over_assignment
      • dotnet_style_prefer_conditional_expression_over_return
  • 전체로 이동 창에 새 명령을 추가하고 기능을 개선했습니다.We added new commands and improvements to the Go to All window:
    • 바깥쪽 블록으로 이동(Ctrl + Alt + 위쪽 화살표)을 사용하면 바깥쪽 코드 블록의 시작 부분으로 신속하게 이동할 수 있습니다.Go to Enclosing Block (Ctrl + Alt + UpArrow) allows you to quickly navigate up to the beginning of the enclosing code block.
    • 다음/이전 문제로 이동(Alt + PgUp/PgDn)을 사용하면 다음/이전 문제(오류, 물결선, 전구)로 건너뛸 수 있습니다.Go to Next/Previous Issue (Alt + PgUp/PgDn) allows you to skip to the next/previous issue (error, squiggle, lightbulb).
    • 멤버로 이동(Ctrl + T, M)은 이제 기본적으로 그 범위가 파일로 지정됩니다.Go to Member (Ctrl + T, M) is now scoped to the file by default. 범위를 현재 문서로 전환하여(Ctrl + Alt + C) 기본값을 다시 솔루션으로 변경할 수 있습니다.You can change the default back to solution by toggling the Scope to Current Document (Ctrl + Alt + C).
  • 이제 여러 캐럿을 지원하는 파일에서 여러 임의의 위치에 삽입 지점 및 선택 영역을 만들 수 있습니다.You can now create insertion points and selections at multiple, arbitrary locations in a file with multiple caret support. 따라서 여러 위치에서 동시에 텍스트를 추가, 편집 또는 삭제할 수 있습니다.This allows you to add, edit, or delete text in multiple places simultaneously.
    • Ctrl + Alt + LeftMouseClick 으로 캐럿을 삽입합니다.Insert carets with Ctrl + Alt + LeftMouseClick.
    • Shift + Alt + Ins 를 사용하여 현재 선택 영역과 일치하는 다음 위치에 선택 영역 및 캐럿을 추가합니다.Add a selection and caret at next location that matches current selection with Shift + Alt + Ins.
    • 전체 작업 목록은 편집 > 여러 캐럿 을 참조하세요.See Edit > Multiple Carets for full list of actions.
  • Alt + ' 를 사용하여 상황별 탐색 메뉴에 액세스합니다.Access a contextual navigation menu with Alt + `.
  • 다음과 같은 새로운 두 개의 키보드 프로필과 키 바인딩을 일관적으로 유지합니다. Visual Studio CodeReSharper(Visual Studio)Keep your keybindings consistent with two new keyboard profiles: Visual Studio Code and ReSharper (Visual Studio). 이러한 스키마는 도구 > 옵션 > 환경 > 키보드 및 위쪽 드롭다운 메뉴에서 찾을 수 있습니다.You can find these schemes under Tools > Options > Environment > Keyboard and the top drop-down menu.

디버깅Debugging

이 릴리스에서는 다음과 같이 디버깅이 향상되었습니다.This release contains the following debugging enhancements:

  • Visual Studio 2017 인스턴스가 두 개 이상 설치된 경우 이제는 디버깅할 때 확장을 배포할 인스턴스를 선택할 수 있습니다 (그림 5) .When you have more than one instance of Visual Studio 2017 installed, you can now select which instance to deploy your extension to when debugging (Figure 5). 이 방식으로 예를 들어 미리 보기 채널에서 디버깅하는 동안 Visual Studio 릴리스 채널에서 개발할 수 있습니다.That way you can, for example, develop in the Visual Studio release channel while debugging in the preview channel.

    Select your debug instance
    (그림 5) 디버그 인스턴스 선택(Figure 5) Select Debug Instance
  • 이제 [게시] 요약 페이지 (그림 6) 에서 바로 스냅샷 디버거를 연결할 수 있습니다.You can now attach the Snapshot Debugger directly from the Publish summary page (Figure 6).

    Attach Snapshot Debugger from Publish Summary page
    (그림 6) 게시 요약에서 스냅샷 디버거 연결(Figure 6) Attach Snapshot Debugger from Publish Summary
  • 이제 힙을 사용하여 미니 덤프를 디버깅하는 동안 작업 창을 통해 관리되는 작업 보기를 지원합니다.We now support viewing Managed Tasks through the Tasks window while debugging minidumps with heap.

유니버설 Windows 플랫폼 개발자용 도구Tools for Universal Windows Platform Developers

대상 플랫폼 버전으로 Windows 10 가을 크리에이터 업데이트(빌드 16299) 이상을 사용하는 유니버설 Windows 플랫폼을 대상으로 하는 프로젝트의 XAML 디자이너를 많이 개선했습니다.We made many important improvements to the XAML designer for projects targeting the Universal Windows Platform with a target platform version of the Windows 10 Fall Creators Update (build 16299) or later. 이러한 기능 향상은 다음과 같습니다.These improvements include:

  • 이제 속성 검사자에서 컬렉션을 편집할 수 있습니다.You can now edit collections in the Property Inspector.
  • 이제 이러한 엔터티에 대한 정의가 다른 문서에 정의된 경우 디자이너에서 템플릿과 스타일을 편집할 수 있습니다.The designer now allows Templates and Styles to be edited, including when the definitions for those entities are defined in other documents.
  • IconElement 형식의 속성(예: AppBarButton의 아이콘)은 이제 속성 검사자에 사용자 지정 편집기가 있기 때문에 이러한 속성을 쉽게 설정할 수 있습니다.Properties of type IconElement (such as Icon in an AppBarButton) now have a custom editor in the Property Inspector making these properties easier to set.
  • 디자이너, 편집기 및 편집하며 계속하기는 이제 모두 x:DefaultBindMode와 함께 정상적으로 작동할 것입니다.The designer, editor, and Edit and Continue should all now work correctly with x:DefaultBindMode.
  • 이제 Blend의 Visual State Manager 환경에서 AdaptiveTrigger를 지원합니다.The Visual State Manager experience in Blend now supports AdaptiveTrigger.

Visual Studio용 F# 4.5 및 F# 도구F# 4.5 and F# Tools for Visual Studio

이 릴리스에서는 F# 언어 버전 4.5가 도입되었습니다.We introduced the F# language version 4.5 with this release. 이는 새로운 FSharp.Core(F# 핵심 라이브러리)의 새로운 4.5.x 제품군에도 부합합니다.This also corresponds with the new 4.5.x family of FSharp.Core (the F# core library). F# RFC 리포지토리에서 이러한 각 변경 내용의 사양을 확인할 수 있습니다.You can read the specs for each of these changes in the F# RFC repository. 또한 이 릴리스에서 Visual Studio용 F# 도구도 많이 개선되었습니다.There are also many improvements to F# tools for Visual Studio with this release.

F# 4.5F# 4.5

다음은 F# 언어 버전 4.5의 주요 특징입니다.Here are the some of the highlights with the F# language version 4.5:

Span<'T> 지원Span<'T> support

F#에서 Span, Memoryref-like 구문을 사용하여 API를 효과적으로 사용하고 생성할 수 있도록 Span<'T> 및 관련 기능을 개선했습니다.We implemented Span<'T> and related features so that effective consumption and production of APIs using Span, Memory, and ref-like constructs are possible with F#. 여기에는 다음과 같은 기능이 포함됩니다.The features for this include:

  • 새로운 voidptr 형식.New voidptr type.
  • FSharp.Core의 새로운 NativePtr.ofVoidPtrNativePtr.toVoidPtr 함수.New NativePtr.ofVoidPtr and NativePtr.toVoidPtr functions in FSharp.Core.
  • 새 형식 inref<'T>outref<'T>(각각 읽기 전용 byref 및 쓰기 전용 byref)입니다.New types inref<'T> and outref<'T>, which are read-only byrefs and write-only byrefs, respectively. C#의 in refout ref에 해당합니다.This correspond to in ref and out ref in C#.
  • ByRefLike 구조체(예: SpanReadOnlySpan)를 생성하는 기능.The ability to produce ByRefLike structs (such as Span and ReadOnlySpan).
  • IsReadOnly 구조체를 생성하는 기능.The ability to produce IsReadOnly structs.
  • 메서드에서 byref- 및 inref-returns의 암시적 역참조.Implicit dereference of byref- and inref-returns from methods.
  • byref/inref/outref에서 확장 멤버를 생성하는 기능.The ability to produce extension members on byref/inref/outref.

이 기능 집합은 byref를 반환하는 함수, 메서드 및 속성이 반환 값을 암시적으로 역참조하지 않는 F# 4.1의 byref-returns 초기 디자인에서 버그를 수정합니다.This feature set fixes a bug in the initial design of byref-returns in F# 4.1, where functions, methods, and properties returning byref's were not implicitly dereferencing the return value. 이 기능을 C#의 ref-returns 처리 방식과 일치시키기 위해 이렇게 변경했습니다.We make this change to bring the feature in-line with how C# handles ref-returns. 이제 형식 주석이 ref-return의 암시적 역참조가 사용된다고 표시하면 오류 메시지가 사용됩니다.An error message is used when a type annotation indicates that an implicit dereference of a ref- return is now used.

또한 이 기능 집합은 "악의적인 구조체 대체"가 가능한 즉, F# 구조체에서 메서드를 호출하면 호출되는 실제 구조체를 다른 구조체로 바꿀 수 있었던 F# 컴파일러의 버그를 수정합니다.Additionally, this feature set also fixes a bug in the F# compiler where "Evil struct replacement" was possible; i.e., calling a method on an F# struct could replace the actual struct that was called with a different one. 이제 구조체의 this 매개 변수는 inref<MyStruct>로 간주되고, 구조체를 수정하려는 경우 변경 가능한 필드를 추가할 것을 권장하는 오류가 표시됩니다.The this parameter on a struct is now considered an inref<MyStruct>, with an error that suggests you add a mutable field if you wish to modify the struct.

이 기능 집합의 RFC에서 spanref-like 구문에 대해 자세히 알아볼 수 있습니다.You can learn more about span and ref-like constructs in the RFC for this feature set.

계산 식의 Match!Match! in computation expressions

F# 4.5에서는 계산 식 내에서 사용되는 새로운 키워드 match!가 도입되었으며, 전적으로 John Wostenberg 씨가 도와주셨습니다.F# 4.5 introduces match!, a new keyword for use within computation expressions, contributed entirely by John Wostenberg. 이 편의용 문법은 결과에서 match 뒤에 오는 let!과 동일합니다.This syntactic sugar is equivalent to a let! followed by a match on the result. match!에 대한 RFC에서 자세히 알아볼 수 있습니다.You can learn more in the RFC for match!.

시퀀스, 목록 및 배열 식에서 yield를 사용하여 업캐스팅할 필요성 완화Relaxing the need to upcast with yield in sequence, list, and array expressions

이제 F# 4.5에서는 하위 형식을 상위 형식으로 변환하려면 yield를 사용할 때 업캐스트가 필요했던 상황이 완화되었습니다.F# 4.5 now relaxes some cases where an upcast when using yield was required to convert a subtype into a supertype. 이 제한은 이미 F# 3.1 이후부터 yield를 사용하지 않을 때에는 이러한 식에 꼭 필요한 것이 아니므로 기존 동작과의 일관성이 향상됩니다.This restriction was already not necessary for these expressions since F# 3.1 when not using yield, so this makes things more consistent with existing behavior. RFC에서 이 기능에 대해 자세히 알아볼 수 있습니다.You can learn more in the RFC for this feature.

목록 및 배열 대괄호에서 들여쓰기 허용Permitting indentation on list and array brackets

자체 줄에 있을 때 한 범위 앞으로 들여써야 했지만, 이제 F# 4.5에서는 목록 및 배열 대괄호에 대한 들여쓰기 규칙이 완화되었습니다.F# 4.5 now relaxes the indentation rule for list and array brackets that required them to be indented one scope forward when on their own line. 이전 요구 사항은 늘 혼란을 주었으며, F# 초보자에게는 더욱 어려웠습니다.This previous requirement has always been quite confusing, especially for beginners to F#. 뿐만 아니라 F# 시퀀스 식에 꼭 필요하지도 않습니다.Additionally, it is not required for F# sequence expressions. 이제는 시퀀스 식과 동일한 상태로 배열 및 목록 식을 가져옵니다.This now brings array and list expressions to the same consistent state as sequence expressions. RFC에서 이 기능에 대해 자세히 알아볼 수 있습니다.You can learn more in the RFC for this feature.

공용으로 내보낸 열거형 사례Enum cases emitted as public

이제 F# 4.5에서는 C#이 열거형 사례를 내보내는 방식과 일치시키기 위해 모든 상황에서 열거형 사례를 공용으로 내보냅니다.F# 4.5 now emits enumeration cases as public under all circumstances, to align with how C# emits enumeration cases. 이렇게 하면 레이블 이름이 아닌 값을 내보냈던 F# 코드의 로그를 프로파일링 도구가 쉽게 분석할 수 있습니다.This also makes it easier for profiling tools to analyze logs from F# code, where the value rather than the label name was emitted. RFC에서 이 기능에 대해 자세히 알아볼 수 있습니다.You can learn more in the RFC for this feature.

F# 컴파일러 개선F# Compiler Improvements

F# 4.5에서는 앞서 언급한 언어 기능 외에도 F# 컴파일러가 개선되었습니다.Improvements to the F# compiler in addition to the previously-mentioned language features are in F# 4.5. 여기에는 다음이 포함됩니다.These include:

  • # 컴파일러의 모든 할당을 최대 2.2% 제거하여 컴파일러 성능 작업을 개선했습니다(다양한 시나리오에서).We improved compiler performance work by removing up to 2.2% of all allocations in the F# compiler (under various scenarios).
  • 구조체 기반 열거 가능 형식과 함께 yield!를 사용할 때 AccessViolatioNException이 발생하는 버그가 수정되었습니다.We fixed a bug that results in an AccessViolatioNException when using yield! with struct-based enumerables.
  • 다시 FSharpFunc에서 상속할 수 있습니다.It is now possible to inherit from FSharpFunc again.
  • .NET Core용 F#의 디버그 빌드에 대한 후속 호출이 기본적으로 비활성화됩니다.Tail calls are disabled by default for debug builds of F# for .NET Core. 릴리스에 대해 활성화되므로 데스크톱 F# 컴파일러와 일치합니다.They are enabled for release, thus matching the desktop F# compiler.
  • 출력 파일에 기록된 전이 어셈블리 참조를 제어할 수 있도록 F# 참조 정규화가 수정되었습니다.F# reference normalization has been fixed to allow you to control transitive assembly references written to an output file. 따라서 .NET Core에서 동일한 어셈블리 리디렉션을 수행할 수 있습니다.This allows you to perform the equivalent of assembly redirection on .NET Core.
  • 인라인 함수에서 동적 호출을 사용하려고 시도할 때 사용되는 오류 메시지를 무시하는 버그가 수정되었습니다.We fixed a bug where the error message used when attempting to use dynamic invocation on inline functions was ignored. 이제 이 오류 메시지가 전파됩니다.The error message now propagates.
  • 이제 F#는 프로젝트 파일에서 설정할 수 있는 WarningsNotAsErrors 플래그를 준수합니다.F# now respects the WarningsNotAsErrors flag that you can set in project files.
  • 패턴 일치 분기가 동일한 오류 메시지 유형 조건을 반환하지 않는 경우 Isaac Abraham에 의해 더 친숙하게 업데이트되었습니다.When branches of a pattern match do not return the same error message type condition, has been updated to be friendlier by Isaac Abraham.
  • 오버로드된 메서드 구현이 없는 인터페이스 구현이 Steffen Forkmann에 의해 수정된 경우 내부 오류 버그입니다.An internal error bug when a compiling interface implementation that lacks an overloaded method implementation has been fixed by Steffen Forkmann.
  • 컴파일러의 어휘 단계에서 일부 불필요한 배열 복사를 Gauthier Segay 씨가 제거했습니다.Some unnecessary array copying in the lexing phase of the compiler has been removed by Gauthier Segay.
  • 이제 F# 열거형의 불완전한 패턴 일치는 범위에 포함되지 않는 상황에 대한 예제를 제공하는 구체적인 경고를 생성하며, John Wostenberg 씨가 도와주셨습니다.Incomplete pattern matches on F# enumerations now produces a detailed warning that gives an example of a case not covered, contributed by John Wostenberg.
  • 이제 `#nowarn "2003"이 적용되며, Matthias Diitrich 씨가 도와주셨습니다.`#nowarn "2003" is now respected, contributed by Matthias Diitrich.
  • C# 확장 메서드를 사용하면 F# 오버로드 확인이 실패할 수 있는 버그를 Steffen Forkmann 씨가 수정했습니다.A bug where consuming C# extensions methods could fail in F# overload resolution has been fixed by Steffen Forkmann.
  • 내부 QueueList 데이터 구조 버그를 Steffen Forkmann 씨가 수정했습니다.An internal QueueList data structure bug was fixed by Steffen Forkmann.
  • Steffen Forkmann, Eugene Auduchinok, ncave 씨가 다양한 소규모 최적화 및 코드 정리 작업을 도와주셨습니다.Various smaller optimizations and code cleanup efforts were contributed by Steffen Forkmann, Eugene Auduchinok, and ncave.

F# Core Library 4.5.xF# Core Library 4.5.x

이제 F# Core Library에 추가된 다음 항목을 사용할 수 있습니다.The following additions to the F# Core Library are now available:

  • async { } 계산 식의 스택 추적을 개선하기 위해 엄청난 노력이 투입되었습니다.Significant work has been done to improve stack traces for async { } computation expressions. 이제 스택 추적의 사용자 코드 및 사용자 줄 번호를 볼 수 있습니다.You should now be able to see user code and user line numbers in stack traces. RFC에서 이 기능에 대해 자세히 알아볼 수 있습니다.You can learn more in the RFC for this feature.
  • System.FuncSystem.Action 오버로드를 입력하는 FuncConvert.FromFuncFuncConvert.FromAction API는 C#과의 상호 운용에 도움이 됩니다.FuncConvert.FromFunc and FuncConvert.FromAction APIs that type System.Func and System.Action overloads, to help in interoperation with C#. RFC에서 이 기능에 대해 자세히 알아볼 수 있습니다.You can learn more in the RFC for this feature.
  • ValueOption은 새로 제공되는 형식으로, 궁극적으로 활성 패턴의 성능 개선을 목표로 하는 최초의 향후 기능 집합입니다.ValueOption is a new type available, which is the first in a set of future features ultimately aimed at better performance for Active Patterns. RFC에서 이 기능에 대해 자세히 알아볼 수 있습니다.You can learn more in the RFC for this feature.
  • TryGetValue는 이제 F# 맵 형식의 새 멤버입니다.TryGetValue is now a new member on the F# Map type. RFC에서 이 기능에 대해 자세히 알아볼 수 있습니다.You can learn more in the RFC for this feature.
  • MailboxProcessor.TryReceive를 처음으로 호출하면 CPU 사용량이 높았던 문제를 수정했습니다.We fixed High CPU usage upon the first invocation of MailboxProcessor.TryReceive.
  • 이제 bool 비교에 속도가 빠른 일반 비교가 사용되며, Vasily Kirichenko 씨가 도와주셨습니다.Comparison for bool now uses fast generic comparison, contributed by Vasily Kirichenko.
  • Array.allPairs에 대한 요약 텍스트가 보다 정확하게 업데이트되었으며, Patrick McDonald 씨가 도와주셨습니다.The summary text for Array.allPairs has been updated to be correct, contributed by Patrick McDonald

F# 도구 개선 사항F# Tooling Improvements

이 릴리스에서는 성능 향상 및 일부 새로운 편집기 기능과 같은 F# 도구의 현저한 개선 사항이 포함되어 있습니다.Significant improvements in the F# tools, such as performance enhancements and some new editor features are included this release. 늘 그렇듯이, F# 오픈 소스 커뮤니티에서 많은 도움을 주셨습니다.As always, with a large number of contributions from the F# open source community. 다음은 주요 사항입니다.Here are the highlights:

  • 멀티 타기팅을 사용하는 프로젝트를 포함하여 모든 영식의 .NET SDK 스타일 프로젝트에 대한 IntelliSense 성능을 개선했습니다.We improved IntelliSense performance for .NET SDK-style projects of all forms, including those that use multi-targeting.
  • 매우 큰 파일에 대한 IntelliSense 성능을 분석하고 개선하기 위해 커뮤니티를 중심으로 Vasily Kirichenko, Steffen Forkmann, Gauthier Segay 씨가 많은 도움을 주셨습니다.A community-driven effort to analyze and improve IntelliSense performance for very large files was contributed by Vasily Kirichenko, Steffen Forkmann, and Gauthier Segay. 매우 큰 파일(코드 줄 10k+)에서 IntelliSense의 성능이 약 2배 빨라졌습니다.IntelliSense in very large files (10k+ lines of code) is roughly twice as fast now.
  • 오래된 FSharp.Core에 대한 경고가(패키지가 설치되어도 표시되던) .NET SDK 스타일 프로젝트에 더 이상 존재하지 않습니다.The warning for an outdated FSharp.Core (despite the package being installed) is no longer present in .NET SDK-style projects.
  • IntelliSense에서 . 뒤에 멤버에 대한 XML 설명서를 표시하는 도구 설명이 더 이상 10초 후에 시간 초과되지 않습니다.The description tooltip that displays XML documentation for a member after . in IntelliSense no longer times out after 10 seconds.
  • 개체 생성자 인수에서 중단점을 설정할 수 없는 버그가 수정되었습니다.A bug where you could not set breakpoints in object constructor arguments has been fixed.
  • 제네릭 매개 변수가 수정되면 이름이 바뀐 기호가 중복되는 버그가 수정되었습니다.A bug where a renamed symbol would be duplicated when it is a generic parameter has been fixed.
  • 이제 .NET Framework 템플릿(클래식 F# 템플릿)은 NET SDK F# 템플릿과 맞추기 위해 NuGet 패키지의 FSharp.Core를 사용합니다.Templates for .NET Framework (classic F# templates) now consume FSharp.Core from a NuGet package, to align with .NET SDK F# templates.
  • 이제 (), [], {}, [||][<>] 중괄호 쌍에 자동 트랜잭션 중괄호 완성을 사용할 수 있습니다.Automatic, transactional brace completion is now available for (), [], {}, [||], and [<>] brace pairs. 이 작업은 Gibran Rosa 씨와 공동으로 진행되었습니다.We did this work in collaboration with Gibran Rosa.
  • 이제 F# 기호에서 Ctrl + 클릭 을 사용하여 정의로 이동할 수 있습니다.You can now go to definition with Ctrl + Click on an F# symbol. 이 제스처에 대한 설정 역시 도구 > 옵션 창에서 적용됩니다.The settings for this gesture are also respected in the Tools > Options window.
  • 다양한 IDE 기능에 대해 구식 형식 확인 정보를 구성할 수 있도록 IntelliSense 성능 UI가 수정되었습니다.The IntelliSense performance UI has been modified to allow configuration of stale typecheck information for various IDE features. 이제 각 옵션에 대한 설명이 설정의 도구 설명에 표시됩니다.Explanations for each option are now present in tooltips for the settings.
  • 이제 중괄호 일치 강조가 중괄호를 올바르게 강조하며, Vasily Kirichenko 씨와 협업으로 이 문제를 수정했습니다.Brace match highlighting now correctly highlights braces, completed in collaboration with Vasily Kirichenko.
  • 이제 형식이 재귀적으로 정의될 때 정의로 이동이 올바르게 작동하며, Vasily Kirichenko 씨가 도와주셨습니다.Go to definition now navigates correctly when a type is defined recursively, contributed by Vasily Kirichenko.
  • 파일의 윗부분이 비어 있으면 자동으로 가져온 네임스페이스가 열리지 않던 버그를 Vasily Kirichenko 씨가 수정했습니다.A bug where an auto-imported namespace wasn't opened when the top of a file was empty has been fixed by Vasily Kirichenko.
  • 점이 포함된 printf 지정자의 색상이 잘못 표시되는 버그를 Vasily Kirichenko 씨가 수정했습니다.A bug where printf specifiers that contained dots were miscolored has been fixed by Vasily Kirichenko.
  • 모든 열기가 재귀 모듈 내에서 미사용으로 간주되던 버그를 Vasily Kirichenko 씨가 수정했습니다.A bug where all opens were considered unused inside of a recursive module has been fixed by Vasily Kirichenko.
  • 미사용 열기 분석기의 성능이 Vasily Kirichenko 씨의 손을 거쳐 크게 향상되었습니다.The performance of the Unused Opens analyzer has been improved significantly by Vasily Kirichenko.
  • 이제 특성에 대한 자동 완성은 실제로 특성인 옵션만 제안하며, Vasily Kirichenko 씨가 도와주셨습니다.Autocompletion for attributes now only suggests options that are actually attributes, contributed by Vasily Kirichenko.
  • 이제 서명 도움말 도구 설명은 생성자 호출 사이트에서 형식 공급자 정적 매개 변수에 대해 생성되며, Vasily Kirichenko 씨가 도와주셨습니다.Signature Help tooltips are now generated for Type Provider static parameters at the constructor call site, contributed by Vasily Kirichenko.
  • 측정 단위로 사용되는 값 형식이 참조 형식 색상으로 표시되던 버그를 Vasily Kirichenko 씨가 수정했습니다.A bug where value types used as units of measure were colored as reference types has been fixed by Vasily Kirichenko.
  • 스크롤하는 동안 일부 파일에 대한 의미 체계 색 지정이 사라지는 버그를 Vasily Kirichenko 씨가 수정했습니다.A bug where semantic colorization could disappear for some files while scrolling has been fixed by Vasily Kirichenko.
  • 이제 실험 CodeLens 구현이 있으며, Victor Peter Rouven Müller 씨가 도와주셨습니다.There is now an experimental CodeLens implementation, contributed by Victor Peter Rouven Müller. 옵션 > 텍스트 편집기 > F# > Code Lens 에서 켤 수 있습니다.You can turn it on in Options > Text Editor > F# > Code Lens.
  • F# 컴파일러 서비스가 XML 문서에서 모듈 이름을 올바르지 않게 생략하는 버그를 Sebastian Urban 씨가 수정했습니다.A bug where the F# compiler service would incorrectly elide the module names in XML documentation has been fixed by Sebastian Urban.
  • ContainsKey 및 후속 Item 호출에 Dictionary를 사용하는 코드가 TryGetValue를 사용하도록 Eugene Auduchinok 씨에 의해 변경되었습니다.Code that uses Dictionary with ContainsKey and subsequent Item calls has been changed to use TryGetValue, by Eugene Auduchinok.
  • Jakob Majoka 씨도 도구 설명에 다른 API를 사용하는 과정을 도와주셨습니다.Jakob Majoka also contributed in the process of consuming a different API for Tooltips.

인프라, 패키징 및 오픈 소스 개선 사항Infrastructure, Packaging, and Open Source Improvements

인프라, 패키징 및 오픈 소스 기여 환경이 다음과 같이 개선되었습니다.We made the following enhancements to infrastructure, packaging, and our open source contribution experience:

  • Visual Studio를 사용하여 배포된 F# 컴파일러는 더 이상 F# 컴파일러 SDK 위치에 싱글톤으로 설치되지 않습니다.The F# compiler distributed with Visual Studio no longer installs as a singleton in the F# Compiler SDK location. 이제 Visual Studio와 완전히 병렬입니다. 즉, Visual Studio의 병렬 설치가 드디어 진정한 병렬 F# 도구 및 언어 환경을 갖게 된다는 뜻입니다.It is now fully side-by-side with Visual Studio, meaning that side-by-side installations of Visual Studio will finally have truly side-by-side F# tooling and language experiences.
  • 이제 FSharp.Core NuGet 패키지가 서명됩니다.The FSharp.Core NuGet package is now signed.
  • ETW 로깅이 F# 도구 및 컴파일러에 추가되었습니다.ETW logging has been added to the F# tools and compiler.
  • FSharp.Core의 매우 큰 control.fs/control.fsi 파일이 async.fs/async.fsi, event.fs/event.fsi, eventmodule.fs/eventmodule.fsi, mailbox.fs/mailbox.fsi, observable.fs/observable.fsi로 분할되었습니다.The very large control.fs/control.fsi files in FSharp.Core have been split into async.fs/async.fsi, event.fs/event.fsi, eventmodule.fs/eventmodule.fsi, mailbox.fs/mailbox.fsi, and observable.fs/observable.fsi.
  • 프로젝트 성능 스트레스 테스트 아티팩트의 .NET SDK 스타일 버전을 추가했습니다.We added .NET SDK-style versions of our project performance stress test artifacts.
  • 코드베이스에서 Newtonsoft.json을 제거했으며, 따라서 OSS 기여자에 대해 다운로드되는 패키지가 하나 줄었습니다.We removed Newtonsoft.json from our codebase, and you now have one less package downloaded for OSS contributors.
  • 이제 최신 버전의 System.Collections.Immutable 및 System.Reflection.Metadata를 사용합니다.We now use the latest versions of System.Collections.Immutable and System.Reflection.Metadata.

C++ 준수 및 도구 집합 개선C++ Conformance and Toolset Improvements

이 릴리스에서는 C++ 준수 및 도구 집합이 다음과 같이 개선되었습니다.This release contains the following C++ conformance and toolset improvements:

  • C++11 표준(C99 전처리기 포함)을 따르는 새로운 실험적 토큰 기반 전처리기, /experimental:preprocessor 스위치 사용.A new, experimental, token-based preprocessor that conforms to C++11 standards (including C99 preprocessor features), enabled with the /experimental:preprocessor switch. 기존의 전처리기를 사용하면 1로 정의되고 새로운 실험 표준 준수 전처리기를 사용하면 0으로 정의되는 _MSVC_TRADITIONAL 매크로를 사용하여 제어됩니다.This is controlled with macro _MSVC_TRADITIONAL, which is defined 1 when using the traditional preprocessor and 0 when using the new experimental standards conformant preprocessor.
  • Visual Studio 개발자 명령 프롬프트는 Visual C++ Spectre 변형 1 완화 런타임(-vcvars_spectre_libs = spectre) 사용을 지원합니다.The Visual Studio Developer Command Prompt supports enabling the Visual C++ Spectre variant 1 mitigated runtimes (-vcvars_spectre_libs = spectre). Spectre 완화에 대한 자세한 내용은 Visual C++ 팀 블로그를 참조하세요.More information about Spectre mitigations is available on the Visual C++ Team Blog.
  • 최신 C++ 코드 생성에 초점을 맞춘 SSA 최적화 프로그램에 두 가지 기능 추가: 중복 저장소 제거 및 중복 분기 정리.Two new additions to the SSA Optimizer focused on modern C++ code generation: redundant store elimination and folding of redundant branches.
  • 링크 시간을 줄이기 위한 링커의 최적화된 메모리 매핑된 I/O 성능.Optimized memory mapped I/O performance in the linker to reduce link times.

C++ 크로스 플랫폼 개발C++ Cross-Platform Development

이 릴리스에서는 C++ 크로스 플랫폼 개발에 다음과 같은 기능을 추가하고 개선했습니다.We added, improved, and added the following to C++ cross-platform development for this release:

  • 도구 > 옵션 의 ClangFormat에 대해 지정된 코딩 규칙에 따라 .clang-format 파일을 생성하기 위한 추가 > 새 항목 템플릿을 추가했습니다.Added Add > New Item template for generating a .clang-format file following the coding convention specified for ClangFormat in Tools > Options. Visual Studio 규칙을 선택하면 생성된 파일은 도구 > 옵션 에서 사용자의 현재 Visual Studio 서식 지정 구성을 매칭하려고 시도합니다.If the Visual Studio convention is selected, the generated file tries to match the user's current Visual Studio formatting configuration from Tools > Options.
  • 제공된 clang-format.exe 버전을 6.0.0으로 업데이트했습니다.Updated the shipped clang-format.exe version to 6.0.0.
  • CppProperties.json에 구성을 간단하게 추가할 수 있는 템플릿.Templates to simplify adding configurations to CppProperties.json.
  • CMakeSettings.json에 구성을 간단하게 추가할 수 있는 템플릿 (그림 7) 을 추가했습니다.Added templates to simplify adding configurations to CMakeSettings.json (Figure 7).
Configuration templates for CMake
(그림 7) CMake용 구성 템플릿(Figure 7) Configuration Templates for CMake

C++ 생산성C++ Productivity

다음과 같이 C++ 생산성이 개선되었습니다.We made the following enhancements and improvements to C++ productivity:

  • 이제 매크로의 C++ 요약 정보 도구 설명은 단순한 정의 대신 확장 대상을 보여줍니다.C++ Quick Info tooltips on macros now show what they expand to, rather than just their definition. 전처리기가 매크로 식별자를 무엇으로 대체하는지 명확하게 설명하므로 다른 매크로를 참조하는 복잡한 매크로에 특히 유용합니다.This is particularly useful for complex macros that reference other macros as it clarifies what the macro identifier is replaced with by the preprocessor.
  • 기본 매크로를 constexpr로 변환하는 새로운 빠른 픽스 전구를 코드를 현대화하기 위한 새로운 도구로 추가했습니다.Added a new quick-fix lightbulb to convert basic macros to constexpr as a new tool to modernize code.
  • 템플릿에 대한 IntelliSense는 템플릿 본문 내에서 IntelliSense를 최대로 활용할 수 있도록 템플릿 인수에 대한 자세한 정보를 제공합니다 (그림 8) .IntelliSense for templates provide you more details about template arguments to take full advantage of IntelliSense within your template body (Figure 8).
Template IntelliSense
(그림 8) 템플릿 IntelliSense(Figure 8) Template IntelliSense
  • 코드 분석 환경을 개선하기 위해 노력하고 있습니다.We are working to refresh our code analysis experience. 이제 도구 > 옵션 > 텍스트 편집기 > C++ > 실험 > 코드 분석 에서 개발 중인 새 기능을 사용할 수 있습니다.You can now enable the new, in-progress features under Tools > Options > Text Editor > C++ > Experimental > Code Analysis. 파일이 열리거나 저장되고 오류 목록에 결과가 표시되고 편집기에서 녹색 물결선으로 표시되면 백그라운드에서 코드 분석을 실행할 수 있습니다 (그림 9) .Code analysis can run in the background when files are opened or saved, and results are displayed in the error list and as green squiggles in the editor (Figure 9).
In-editor code analysis
(그림 9) 편집기에서 코드 분석(Figure 9) In-editor Code Analysis

C++ 디버깅 기능 향상C++ Debugging Improvements

다음과 같이 디버깅 기능을 개선했습니다.We made the following debugging improvements:

  • 이제 내 코드만을 사용하면 호출-스택 창에서 해당 호출을 축소할 수 있을 뿐 아니라 시스템 또는 타사 C++ 라이브러리에서 코드를 건너뛸 수 있습니다.Just My Code now enables you to step-over code from system or 3rd party C++ libraries in addition to collapsing those calls in the call-stack window. /JMC를 사용하여 코드를 컴파일하고 비 사용자 라이브러리 경로가 .natjmc 파일에 지정된 경우 C++ 라이브러리에 대한 이 동작을 제어할 수 있습니다.You can control this behavior for any C++ libraries when your code is compiled with /JMC and the non-user libraries paths are specified in a .natjmc file. 시스템 라이브러리에서 사용자 코드를 호출하는 경우 사용자가 개입하면 디버거가 모든 시스템 코드를 건너뛰고 사용자 코드 콜백의 첫 번째 줄에서 중지합니다 (그림 10) .If the system library calls into user-code, when you step in, the debugger skips all system code and stops on the first line of user-code callback (Figure 10).
Just My Code
(그림 10) 내 코드만(Figure 10) Just My Code
  • 이제 조사식, 간략한 조사식, 자동 및 로컬 창 내부에서 데이터 중단점을 설정할 수 있으므로 메모리에 저장된 값이 변경되면 짧은 클릭 몇 번으로 중단할 수 있습니다.Data breakpoints can now be set inside the Watch, Quickwatch, Autos, and Locals windows, allowing you to break when a value stored in memory changes in just a few, short clicks.
  • 링크 소스를 사용하면 컴파일하는 동안 실행 파일 또는 라이브러리의 원래 소스 코드를 PDB에 포함할 수 있습니다.Source Link lets you embed information about an executable or library's original source code into the PDB during compilation.
  • 이제 디버깅할 때 프로그램이 실행을 종료하면 기본적으로 콘솔 창이 열린 상태로 유지됩니다(디버거 없이 프로그램을 실행하는 것과 유사).When debugging, the console window now stays open by default when the program terminates execution (similar to running the program without the debugger). 콘솔을 자동으로 닫도록 도구 > 옵션 > 디버깅 > 일반 에서 이 동작을 다시 전환할 수 있습니다.This behavior can be toggled back to closing the console automatically in Tools > Options > Debugging > General.

JavaScript 및 TypeScript 개선 사항JavaScript and TypeScript Improvements

TypeScript 3.0TypeScript 3.0

이제 Visual Studio 2017 버전 15.8에는 기본적으로 TypeScript 3.0을 포함합니다.Visual Studio 2017 version 15.8 now includes TypeScript 3.0 by default. 이 릴리스에 대한 자세한 내용은 TypeScript 3.0 릴리스 알림을 참조하세요.For more details on this release, see the TypeScript 3.0 release announcement.

향상된 Vue.js 지원Improved Vue.js support

Vue.js 라이브러리에 대한 지원이 향상되었으며, 특히 "단일 파일 구성 요소"라고도 하는 .vue 파일을 지원합니다.Support for the Vue.js library has been improved, and in particular support for .vue files, also known as "single file components". 이렇게 하면 스크립트 요소의 lang="ts" 특성을 통해 TypeScript에서 작성된 스크립트 블록에 대한 지원을 비롯하여 .vue 파일 내에서 스크립트 블록을 편집하는 경우 향상된 기능을 제공합니다.This provides enhancements when editing script blocks inside .vue files, including support for script blocks authored in TypeScript through the lang="ts" attribute on the script element. (참고: .vue 파일을 런타임에 필요한 HTML 및 JS 파일로 변환하려면 WebPack 또는 유사한 방법을 사용하는 빌드 프로세스를 사용해야 합니다.(Note: A build process using WebPack or similar must be used to convert the .vue files to the HTML and JS files needed at runtime. 자세한 내용은 단일 파일 구성 요소 페이지를 참조하세요).See the Single File Components page for more details).

Node.js 워크로드가 설치된 경우 이제 새 프로젝트 대화 상자의 "JavaScript/Node.js" 또는 "TypeScript/Node.js" 경로 아래에 "기본 Vue.js 웹 애플리케이션" 템플릿이 있습니다.If the Node.js workload is installed, there will now be "Basic Vue.js Web Application" templates under the "JavaScript / Node.js" or "TypeScript / Node.js" paths in the New Project dialog. 다음은 .vue 파일 (그림 11) 의 스크립트 블록 내에서 TypeScript 코드를 편집하는 예를 보여 줍니다.The below shows an example of editing TypeScript code inside a script block in a .vue file (Figure 11).

Editing a .vue file
(그림 11) .vue 파일 편집(Figure 11) Editing .vue Files

ESLint 개선 사항ESLint Improvements

이 릴리스에 대한 ESLint 지원을 다시 구현합니다.We reimplemented ESLint support for this release. ESLint에는 다음과 같은 향상된 기능 및 고급 기능이 포함됩니다.ESLint has the following improvements and enhancements:

  • 이제 Visual Studio는 저장된 파일만 린트하는 것이 아니라 편집할 때 JavaScript 파일도 린트합니다.Rather than only linting saved files, Visual Studio will now lint JavaScript files as you edit, as well.
  • 열려 있는 파일뿐만 아니라 프로젝트의 모든 JS 파일에 대해 결과를 보고할 수 있습니다. 프로젝트의 일부만 linted하지 않으려는 경우 .eslintignore 파일을 사용하여 무시해야 할 디렉터리와 파일을 지정할 수 있습니다.Results can be reported for all JS files in your project, not just open files; if there are parts of your project you do not want to be linted, an .eslintignore file can now be used to specify directories and files that should be ignored.
  • ESLint는 기본적으로 ESLint 4를 사용하도록 업데이트되었지만 프로젝트에 ESLint의 로컬 설치가 있는 경우 해당 버전을 대신 사용합니다.ESLint was updated to use ESLint 4 by default, but if your project has a local installation of ESLint, it will use that version instead.

ESLint는 ** 도구 > 옵션 > 텍스트 편집기 > Javascript/Typescript > Linting ** (그림 12) 에서 ESLint 사용 설정을 선택 취소하여 Visual Studio에서 전역적으로 사용하지 않도록 설정할 수 있습니다.ESLint may be disabled globally in Visual Studio by unchecking the Enable ESLint setting in the **Tools > Options > Text Editor > Javascript/Typescript > Linting ** (Figure 12).

ESLint Options
(그림 12) ESLint 옵션(Figure 12) ESLint Options

Node.js용 폴더 열기 기능 향상Open Folder Improvements for Node.js

"Node.js 워크로드"가 설치되어 있는 경우 폴더 열기 시나리오에서 JavaScript 및 TypeScript와 함께 작업할 때 많은 개선 사항이 있습니다.There are numerous improvements working with JavaScript and TypeScript in the Open Folder scenario when the "Node.js workload" is installed. 예를 들어 NPM 패키지 관리, TypeScript 빌드, Node.exe로 시작 및 디버깅, NPM 스크립트 실행 및 단위 테스트 실행 등이 있습니다.For example, managing NPM packages, building TypeScript, launching and debugging with Node.exe, executing NPM scripts, and running unit tests.

자세한 내용은 솔루션 또는 프로젝트 없이 Visual Studio에서 JavaScript 및 TypeScript 코드 개발을 참조하세요.See Develop JavaScript and TypeScript code in Visual Studio without solutions or projects} for more information.

편집기 성능 개선Editor Performance Improvements

이전 릴리스에서는 모든 JavaScript 및 TypeScript 언어 서비스 작업이 단일 Node.js 프로세스에 의해 처리되었습니다.In previous releases, all JavaScript and TypeScript language service operations were serviced by a single Node.js process. 이로 인해 잠재적으로 긴 작업(예: 오류에 대한 코드 분석)이 이미 진행 중일 때 사용자 입력에 영향을 주는 명령(예: 새줄 이후 자동 서식 지정)이 전송되면 편집기 지연이 발생할 수 있습니다.This could cause editor delays if commands that impact user typing (such as automatic formatting after a newline) were sent while a potentially lengthy operation was already in process (such as analyzing code for errors). 이 문제를 완화하기 위해 편집에 가장 영향을 주는 작업에 대해 이제 별도의 프로세스가 사용됩니다.To mitigate this, a separate process is now used for the operations that impact editing the most. 이 프로세스는 기존 언어 서비스 프로세스보다 시스템 리소스에서 훨씬 가볍습니다.This process is significantly lighter on system resources than the existing language service process. 그러나 새 프로세스를 사용하지 않도록 설정하려는 경우 도구 > 옵션 > 텍스트 편집기 > JavaScript/TypeScript > 언어 서비스 에서 전용 구문 프로세스 사용 안 함 상자를 선택합니다.However, if you wish to disable the new process, check the Disable dedicated syntax process box in Tools > Options > Text Editor > JavaScript/TypeScript > Language Service.

Visual Studio Web ToolsVisual Studio Web Tools

Library Manager는 Visual Studio 2017에 포함된 새로운 기능입니다.Library Manager is a new feature included in Visual Studio 2017. 웹 프로젝트에서 클라이언트 쪽 라이브러리 관리를 도와줍니다.It helps you manage client-side libraries in your web projects.

컨테이너 도구Container Tools

ASP.NET Core 웹 프로젝트를 위한 새로운 단일 프로젝트 Docker 컨테이너 환경을 추가했습니다.We added a new single project Docker container experience for ASP.NET Core web projects. 기존 Docker Compose 기반 컨테이너 도구를 보완하는 컨테이너로, Visual Studio에서 바로 Docker 컨테이너를 만들고, 디버그하고, 빌드하는 간단하고 쉬운 방법을 제공합니다.This supplements the existing Docker Compose-based container tooling and provides a simpler, easier way to create, debug, and build Docker containers right from Visual Studio.

프로젝트를 만들 때 Docker 지원을 추가할 수 있습니다 (그림 13) .You can add Docker support when creating the project (Figure 13):

Enable Docker Support
(그림 13) Docker 지원 사용(Figure 13) Enable Docker Support

또는 솔루션 탐색기의 프로젝트 팝업 메뉴를 통해 기존 프로젝트에 Docker 지원을 사용하도록 설정할 수 있습니다 (그림 14) .Or, you can enable Docker support to an existing project through the project's context menu in Solution Explorer (Figure 14). 이렇게 하면 Visual Studio가 프로젝트에서 단일 Dockerfile을 만듭니다.Once you do this, Visual Studio creates a single Dockerfile in the project. Windows 또는 Linux 중에 선택할 수 있습니다.You have the option to choose either Windows or Linux.

Add Docker Support
(그림 14) Docker 지원 추가(Figure 14) Add Docker Support

Visual Studio는 컨테이너 내에서 실행되는 동안 프로젝트를 디버그할 수 있도록 Docker에 대한 디버거 실행 프로필 (그림 15) 도 추가합니다.Visual Studio also adds a debugger launch profile (Figure 15) for Docker so that the project can be debugged while running within a container.

Docker Launch Profile
(그림 15) Docker 실행 프로필(Figure 15) Docker Launch Profile

여러 Docker 프로젝트가 포함된 솔루션이 있는 경우 기본적으로 솔루션을 시작하면 한 컨테이너만 실행됩니다.If you have a solution with multiple Docker projects, by default, only one container runs when you choose to start the solution. 여러 컨테이너를 동시에 실행하려면 솔루션 탐색기에서 솔루션을 마우스 오른쪽 단추로 클릭하고 시작 프로젝트 설정 을 선택한 다음, 여러 시작 프로젝트 를 선택하고 실행하려는 모든 프로젝트에 대해 작업 드롭다운을 시작 또는 디버깅하지 않고 시작 으로 설정합니다.If you wish to run multiple containers simultaneously, you can right-click on the solution in Solution Explorer and select Set Startup Projects and then Multiple startup projects, and then set the Action drop-down to Start or Start without debugging for all projects that you want to run.

컨테이너화된 프로젝트를 원하는 방식으로 실행한 후에는 프로젝트를 마우스 오른쪽 단추로 클릭하고, Docker 이미지 빌드 를 선택하여 Azure Container Registry 또는 DockerHub에 푸시할 준비가 되면 로컬로 이미지를 빌드할 수 있습니다.Once you have your containerized project running the way you want, you can right-click on the project and select Build Docker Image to build an image locally, when ready to push to Azure Container Registry or DockerHub.

새로운 컨테이너 오케스트레이터 지원 옵션을 통해 기존 Docker Compose 기반 기능을 ASP.NET Core 웹 프로젝트에 추가할 수도 있습니다 (그림 16) .You can also add the existing Docker Compose-based functionality to an ASP.NET Core web project through the new Container Orchestrator Support option (Figure 16). 솔루션 탐색기에서 ASP.NET Core 웹 프로젝트를 마우스 오른쪽 단추로 클릭하고, 추가 > 컨테이너 오케스트레이터 지원 을 선택한 다음, 드롭다운 메뉴에서 Docker Compose 를 선택합니다.Right-click on the ASP.NET Core web project in Solution Explorer, select Add > Container Orchestrator Support, and then select Docker Compose from the drop-down menu.

Add Container Orchestrator Support
(그림 16) 오케스트레이션 지원 추가(Figure 16) Add Orchestration Support

게시 기능 향상Publish Improvements

이 릴리스에서는 다음과 같이 게시 기능이 향상되었습니다.This release contains the following publish improvements:

  • 이제 Docker 컨테이너를 컨테이너 레지스트리에 게시할 때 이미지의 태그를 사용자 지정할 수 있습니다.When publishing a Docker container to a container registry, you can now customize the tag for the image. 태그를 수동으로 추가해도 되고(기본값은 "latest"), 각 태그의 고유하도록 자동으로 생성된 태그를 사용해도 됩니다.You can either manually add a tag (default is "latest") or use an auto-generated tag to make sure each tag is unique.
  • 새로운 Azure App Service를 만들 때 자동으로 원격 분석 데이터를 수집하도록 Application Insights를 구성할 수도 있습니다.When creating a new Azure App Service, you can also configure Application Insights to collect telemetry automatically. Application Insights가 있는 영역을 선택하면 기본적으로 Application Insights가 사용됩니다.If you choose a region that also has Application Insights, it is enabled by default. Application Insights가 없는 영역을 선택하면 드롭다운 목록에서 Application Insights 리소스에 사용할 다른 지역을 수동으로 지정할 수 있습니다.If you choose a region that does not yet contain Application Insights, you can manually specify a different region for your Application Insights resource from the dropdown.
  • Azure Functions 프로젝트를 게시할 때 새로운 Run-From-Zip 기능을 사용하여 게시하도록 선택할 수 있습니다.When publishing Azure Functions projects you can choose to publish using the new Run-From-Zip feature.

Xamarin용 Visual Studio ToolsVisual Studio Tools for Xamarin

이 릴리스에서는 Xamarin이 다음과 같이 업데이트되었습니다.This release contains the following updates for Xamarin:

  • Xcode 9.4 지원이 추가되었습니다.We added support for Xcode 9.4.
  • 이제 새로운 Xamarin.Forms 프로젝트를 만들 때 기본 코드 공유 옵션은 .NET Standard입니다.When you create a new Xamarin.Forms project, the default code sharing option is now .NET Standard. 공유 프로젝트 옵션은 계속 제공됩니다.The shared project option is still available.
  • Android 증분 빌드 기능을 개선했습니다.We added Android incremental build improvements. Xamarin.Android는 전체 빌드보다 빠른 증분 빌드를 달성하기 위해 중간 출력 디렉터리에 생성된 파일을 사용합니다.Xamarin.Android uses files generated in the intermediate output directory to achieve incremental builds that are faster than full builds. 이전에는 프로젝트의 대상 프레임워크를 변경하면 그 다음 실행에서 파일이 무효화되고 전체 빌드가 실행됩니다.Previously, if you changed your project's target framework it would invalidate the files and result in a full build on the next run. 이 릴리스에서는 여러 대상 프레임워크 간에 전환할 수 있으면서도 증분 빌드의 이점을 계속 누릴 수 있도록 프레임워크별 폴더에 파일을 보관합니다.In this release we now preserve the files in per-framework folders so you can switch between different target frameworks and still benefit from incremental builds. 프로젝트를 정리하면 보관된 파일이 사용하는 디스크 공간을 회수할 수 있습니다.Cleaning the project allows you to reclaim the disk space used by the preserved files.
  • Visual Studio 2017의 Xamarin.Mac 바인딩 프로젝트에 대한 최소한의 지원을 추가했습니다.We have added minimum support for Xamarin.Mac binding projects in Visual Studio 2017. 이제 Visual Studio는 Xamarin.Mac 바인딩 프로젝트를 로드하고 지원되는 것으로 인식합니다.This enables Visual Studio to load and recognize Xamarin.Mac binding projects as supported. Xamarin.Mac 바인딩 프로젝트를 빌드할 수도 있습니다.You can also build Xamarin.Mac binding projects. 그러나 네이티브 Mac 도구 체인을 사용하지 않고 빌드 프로세스가 로컬로 수행되므로 생성된 IL 어셈블리를 앱에서 실행 또는 디버깅에 사용할 수 없습니다.However, the build process is performed locally without using the native Mac tool chain, so the generated IL assemblies cannot be used for running or debugging in apps.

Hyper-V Android 에뮬레이터 지원Hyper-V Android Emulator Support

이 릴리스는 Windows 10 2018년 4월 업데이트에서 실행할 경우 Hyper-V와 호환되는 Google Android 에뮬레이터가 추가됩니다 (그림 17) .This release adds support for the Google Android emulator that is compatible with Hyper-V when running on the Windows 10 April 2018 Update (Figure 17). 그러면 Google의 Android 에뮬레이터를 다른 Hyper-V 가상 머신, Docker 도구, HoloLens 에뮬레이터 등과 함께 병렬로 사용할 수 있습니다.This enables you to use Google's Android emulator side-by-side with other Hyper-V based technologies, including Hyper-V virtual machines, Docker tooling, the HoloLens emulator, and more. 이제 Hyper-V를 사용하는 모바일 앱 개발자는 항상 최신 Android API를 지원하는 빠른 Android 에뮬레이터에 액세스하고, Google Play 서비스를 즉시 사용하고, 카메라, 지리적 위치, 빠른 부팅을 포함한 모든 기능을 지원할 수 있습니다.Mobile app developers who use Hyper-V now have access to a fast Android emulator that always supports the latest Android APIs, works with Google Play Services out of the box, and supports all features of the Android emulator, including camera, geolocation, and Quick Boot.

Screenshot of both the Google Android emulator and HoloLens emulator running at the same time.
(그림 17) Google Android 에뮬레이터 및 HoloLens 에뮬레이터
(Figure 17) Google Android Emulator and HoloLens Emulator

Xamarin.Android 디자이너Xamarin.Android Designer

Xamarin.Android의 디자이너 환경이 대폭 개선되었습니다.We made significant improvements to the designer experience for Xamarin.Android. 주요 기능은 다음과 같습니다.Highlights include:

  • 레이아웃을 동시에 만들고, 편집하고, 미리 볼 수 있는 분할 보기 편집기가 도입되었습니다 (그림 18) .A split-view editor was introduced which allows you to create, edit, and preview your layouts at the same time (Figure 18).
Screenshot of the Xamarin.Android split-view editor.
(그림 18) Xamarin.Android 분할 보기 편집기
(Figure 18) Xamarin.Android Split-view Editor
  • IntelliSense 환경 및 사용자 지정 컨트롤의 안정성이 향상되었습니다.Improved IntelliSense experience and reliability of custom controls.
  • 시스템에서 제공한 값의 샘플 데이터를 지원합니다.Sample data support for system provided values.

Xamarin.Forms 미리 보기Xamarin.Forms Previewer

이제 Xamarin.Forms 버전 3.1.0.583944 이상을 사용하면 Xamarin.Forms 미리 보기에서 도구 상자가 지원됩니다.The Xamarin.Forms Previewer now has toolbox support when using Xamarin.Forms version 3.1.0.583944 or higher. 도구 상자를 처음 접하는 분들도 쉽게 찾을 수 있도록 Xamarin.Forms 컨트롤이 도구 상자에 표시됩니다.Xamarin.Forms controls will appear in the toolbox so they are more discoverable for those new to the toolkit. 컨트롤을 XAML 코드 편집기로 끌어다 놓아 페이지에 컨트롤을 추가할 수도 있습니다.You can also drag and drop a control onto the XAML code editor to add the control to the page. Xamarin.Forms 미리 보기는 이제 XAML 편집기의 일부입니다.The Xamarin.Forms Previewer is now part of the XAML editor. 편집기 창의 가장자리에 있는 확장 아이콘을 사용하여 여닫을 수 있습니다.You can open and close it with the expand icon on the edge of the editor pane.

PythonPython

이 릴리스에서는 Python 개발자를 위해 다음과 같은 향상된 기능이 추가되었습니다.This release adds the following improvements for Python developers:

  • 이제 Python IntelliSense는 typeshed 정의를 사용하여 정적 분석을 통해 자동 완성을 유추할 수 없는 라이브러리에 대한 다양한 결과를 제공합니다.Python IntelliSense now uses typeshed definitions to provide richer results for libraries where auto-completions cannot be inferred by static analysis.
  • 15.7 미리 보기 릴리스에서 처음 발표된 실험 디버거는 이제 Python의 기본 디버그 엔진으로 사용되며, Python 코드에 대한 보다 빠르고 안정적인 디버깅을 제공합니다.The experimental debugger, first announced in the 15.7 preview releases, is now the default debug engine used for Python, providing faster and more reliable debugging for Python code.
  • 연결, 프로파일링 및 혼합 모드(언어 간) 디버깅 기능을 사용하기 위한 픽스를 포함하여 Python 3.7 지원을 추가했습니다.We have added support for Python 3.7, including fixes to enable debug attach, profiling, and mixed-mode (cross-language) debugging features.
  • 위의 기능에 대한 자세한 내용은 Visual Studio 2017 버전 15.8의 Python 블로그 게시물에서 확인하세요.For more information about the above features, be sure to check out our Python in Visual Studio 2017 version 15.8 blog post.

로컬 Azure 함수 설정 마이그레이션Migrate Local Azure Function Settings

[게시] 요약 페이지에서 사용할 수 있는 "관리되는 애플리케이션 설정" 대화 상자가 이제 local.settings.json 파일의 값을 표시하고, 값을 Azure에 호스트되는 원격 Azure 함수 앱으로 마이그레이션할 수 있습니다.The "Managed Application Settings" dialog available from the publish summary page now displays values from your local.settings.json file and enables you to migrate values to your remote Azure Function app hosted in Azure.

연결된 서비스Connected Services

이제 Azure 함수 프로젝트를 사용하여 솔루션에 대한 Visual Studio 2017에서 바로 Azure 함수에 대한 지속적인 업데이트를 구성할 수 있습니다.You can now configure continuous delivery for Azure functions directly from Visual Studio 2017 for solutions with Azure Function Projects.

테스트 탐색기 개선Test Explorer Improvement

이제 계층 구조 보기에서 그룹 중 하나를 선택하면 테스트 탐색기가 보다 유용한 테스트 상태 요약 창(테스트 탐색기의 아래쪽 창)을 표시합니다.Test Explorer now displays a more informative test status summary pane (lower pane of test explorer) when one of the groupings in the hierarchy view is selected. 이 창에는 해당 그룹에서 실패한 테스트 수, 통과한 테스트 수 또는 실행되지 않은 테스트 수가 표시됩니다.The pane now displays how many tests failed, passed, or not run in that grouping.

새로운 확장성 기능New Extensibility Features

언어 서버 프로토콜Language Server Protocol

이제 Visual Studio는 언어 서버 프로토콜을 기본적으로 지원합니다.Visual Studio now has native support for the Language Server Protocol. 확장 작성자는 기존 언어 서버와 통신하여 Visual Studio에 추가 언어 지원을 추가하는 확장 프로그램을 만들 수 있습니다.Extension authors can create extensions that communicate with existing language servers to add additional language support to Visual Studio. 확장 사용자는 이러한 확장을 설치하여 Visual Studio 내부에서 Rust 등의 선호하는 언어를 사용할 수 있습니다.Extension users can install these extensions to start using their favorite language inside Visual Studio like Rust.

AsyncPackage 템플릿AsyncPackage Template

이제 확장 작성자는 항목 템플릿을 사용하여 확장의 성능을 최적화하는 AsyncPackage를 만들 수 있습니다.Extension authors can now use item templates to create AsyncPackages to optimize their extension's performance. AsyncPackages에 대해 자세히 알아보세요.Read more about AsyncPackages.

확장 팩Extension Packs

확장 팩을 사용하여 선호하는 확장 집합을 간편하게 공유하거나 모든 확장이 포함된 Visual Studio를 새로 설치할 수 있습니다.Easily share your favorite set of extensions or set up a new install of Visual Studio with all your extensions by using an extension pack. 확장 팩을 사용하면 확장 목록을 만들고, 확장 하나에 패키징하고, 확장을 신속하게 대량으로 설치하는 데 사용할 수 있습니다.Extension packs allow you to create a list of extensions, package them in an extension, and use it quickly to install those extensions in bulk.

명령줄 확장 게시Command Line Extension Publishing

명령줄을 사용하여 Visual Studio Marketplace에 확장을 게시할 수 있습니다.Publish your extensions to the Visual Studio Marketplace using the command line.

.NET Core SDK 2.1.400.NET Core SDK 2.1.400

Visual Studio 2017 버전 15.8에는 .NET Core SDK 2.1.400이 포함되어 있습니다.Visual Studio 2017 version 15.8 includes .NET Core SDK 2.1.400. 다음과 같은 새로운 SDK 기능이 제공됩니다.New SDK features include:

  • NUnit 템플릿 추가Added NUnit templates
  • 서명된 글로벌 도구에 대한 지원 추가Added support for signed global tools
  • 명확성을 높이기 위해 도움말 텍스트 개선Improved help text for better clarity

.NET Core CLI에 대한 32개 문제가 종결되었습니다.32 issues were closed on the .NET Core CLI.
.NET Core SDK에 대한 20개 문제가 종결되었습니다.20 issues were closed on the .NET Core SDK.

소스 제어Source Control

.NET Core 프로젝트의 경우 이제는 솔루션을 다시 로드할 필요 없이 파일 탐색기를 통해 프로젝트에 직접 추가된 파일이 솔루션 탐색기에서 올바른 Git 및 TFS 추적 아이콘을 표시합니다.For .NET Core projects, files added directly to the project through File Explorer will now show the correct Git and TFS tracking icons in the Solution Explorer without needing to reload the solution.

.NET 테스트 어댑터 확장.NET Test Adapter Extension

.NET 테스트 어댑터는 다음과 같이 호환성이 손상되는 변경 및 사용 중단이 있습니다.The .NET Test Adapter has the following breaking change and deprecation:

  • 주요 변경 내용: 모든 테스트 프로젝트에는 csproj의 .NET 테스트 어댑터 NuGet 참조가 포함되어야 합니다.Breaking Change: All test projects must include their .NET test adapter NuGet reference in their csproj. 그렇지 않으면 빌드 후 테스트 어댑터 확장이 검색을 시작하거나 사용자가 선택한 테스트를 실행하려고 시도할 때 이 테스트 출력이 프로젝트에 표시됩니다.If they do not, this test output will appear on the project if discovery by a test adapter extension is kicked off after a build or if the user tries to run the selected tests:
    • {} 테스트 프로젝트는 .NET NuGet 어댑터를 참조하지 않습니다.Test project {} does not reference any .NET NuGet adapter. 이 프로젝트에서는 테스트 검색 또는 실행이 작동하지 않을 수 있습니다.Test discovery or execution might not work for this project. 솔루션의 각 테스트 프로젝트에서 NuGet 테스트 어댑터를 참조하는 것이 좋습니다.It is recommended to reference NuGet test adapters in each test project in the solution.
  • .NET 테스트 프레임워크는 NuGet 패키지에서 어댑터를 릴리스하고 Visual Studio 확장에서 벗어나고 있습니다..NET test frameworks have been releasing their adapters in NuGet packages and moving away from Visual Studio extensions. 확장을 통해 제공되는 .NET 테스트 어댑터 지원은 중단되었지만 계속 지원됩니다.The support for .NET test adapters delivered through extensions is deprecated, but still supported. 즉, 도구 > 옵션 > 테스트 에서 새로운 두 가지 옵션을 사용할 수 있습니다.This means that two new options are available in Tools > Options > Test.
    • 첫 번째 옵션을 선택하면 Visual Studio가 테스트 어셈블리 폴더(테스트 어댑터 NuGet 참조로 채워진)에서 찾은 테스트 어댑터만 사용하거나 runsettings 파일에 지정된 대로 사용할 수 있습니다.The first option allows Visual Studio to only use the test adapters it finds in the test assembly folder (populated by the test adapter NuGet reference) or as specified in the runsettings file.
    • 두 번째 옵션을 선택하면 Visual Studio가 이전 동작을 "대체"하고 테스트 어댑터 NuGet 참조가 없는 프로젝트의 테스트 어댑터 확장을 검색할 수 있습니다.The second option allows Visual Studio to "fallback" to the old behavior and search for test adapter extensions for projects that do not have a test adapter NuGet reference. 두 옵션 모두 기본적으로 선택되므로 이 릴리스에서는 기본 동작이 변경되지 않습니다.Both options are checked by default, so no default behavior will change in this release.
  • 참고: .NET이 아닌 테스트 어댑터는 이 변경의 영향을 받지 않습니다.Note: Non-.NET test adapters are not affected with this change.

ASP.NET .NET Framework 비밀 지원ASP.NET .NET Framework Secrets Support

.NET Framework 4.7.1 이상을 대상으로 하는 ASP.NET .NET Framework 프로젝트의 경우, 이제 프로젝트를 마우스 오른쪽 단추로 클릭하고 "관리되는 사용자 비밀"을 선택하여 usersecrets.xml의 소스 코드에서 원하지 않는 비밀 정보를 열고 저장할 수 있습니다.For ASP.NET, .NET Framework projects that target .NET Framework 4.7.1 or higher, you can now open and store secrets you do not want in your source code in usersecrets.xml by right-clicking on the project and selecting "Managed User Secrets".

ASP.NET .NET Framework 성능 개선Improve ASP.NET .NET Framework Performance

참조된 .NET 컴파일러 패키지가 ASP.NET .NET Framework 프로젝트에서 만료된 경우 Visual Studio에서는 빌드 성능을 개선하도록 프로젝트를 열 때 패키지를 업그레이드하라는 메시지를 표시합니다.If the referenced .NET Compiler package is out of date in an ASP.NET .NET Framework project, Visual Studio will prompt you to upgrade the package when you open the project to improve your build performance.

.NET Framework 4.7.2.NET Framework 4.7.2

이제 Visual Studio 2017 버전 15.8에서는 4.7.2 런타임이 포함된 모든 지원되는 플랫폼에 대한 .NET Framework 4.7.2 개발 도구를 제공합니다.Visual Studio 2017 version 15.8 now offers the .NET Framework 4.7.2 development tools to all supported platforms with the 4.7.2 runtime included. .NET Framework 4.7.2에서는 여러 새로운 기능 및 개선 사항뿐 아니라 신뢰성, 안정성, 보안, 성능과 관련한 많은 수정 사항을 제공합니다.The .NET Framework 4.7.2 offers several new features and improvements as well as numerous reliability, stability, security, and performance fixes.

.NET Framework 4.7.2에 대한 자세한 내용은 다음 문서를 참조하세요.You can find more details about the .NET Framework 4.7.2 in these articles:

지연 패키지 로드Delay Package Load

이제 Visual Studio는 Visual Studio IDE가 완전히 시작되고 솔루션이 로드된 후에 자동으로 로드되도록 구성된 비동기 패키지의 로드를 지연합니다.Visual Studio now delays the loading of asynchronous packages that are configured to autoload until after the Visual Studio IDE has fully started and the solution has loaded. 이 변경 내용은 동기적으로 자동 로드되는 패키지에 영향을 주지 않습니다.This change does not affect synchronously autoloaded packages. 사용자는 상태 표시줄의 왼쪽 아래 모서리에 있는 작업 상태 센터를 살펴보면서 진행률을 모니터링할 수 있습니다.Users can look at the Task Status Center in the lower left corner of the status bar to monitor progress. asyncpackage를 만드는 확장 작성자는 자신의 확장을 테스트해야 합니다.Extension authors that create asyncpackages should test their extension. 자세한 내용은 확장의 자동 로드 동작을 업데이트하여 중요한 시나리오의 응답성 향상을 참조하세요.For more information, see Improving the responsiveness of critical scenarios by updating auto load behavior for extensions.


Release Notes Icon Visual Studio 2017 버전 15.8 보안 권고 알림Visual Studio 2017 version 15.8 Security Advisory Notices

Visual Studio 2017 버전 15.8.7 서비스 릴리스 -- ‘릴리스 날짜: 2018년 10월 10일’Visual Studio 2017 version 15.8.7 Service Release -- released on October 10, 2018

CVE-2018-8292 .NET Core 정보 공개 취약성CVE-2018-8292 .NET Core Information Disclosure Vulnerability

HTTP 인증 정보가 HTTP 리디렉션이 발생하는 아웃바운드 요청에 실수로 노출된 경우 .NET Core에서 보안 기능 바이패스 취약성이 발생하게 됩니다.A security feature bypass vulnerability exists in .NET Core when HTTP authentication information is inadvertently exposed in an outbound request that encounters an HTTP redirect. 이 취약성을 악용하는 공격자는 이 정보를 사용하여 웹 애플리케이션을 추가로 손상시킬 수 있습니다.An attacker who successfully exploited this vulnerability could use the information to further compromise the web application. 보안 업데이트는 .NET Core 애플리케이션이 HTTP 리디렉션을 처리하는 방법을 수정하여 취약성을 해결합니다.The security update addresses the vulnerability by correcting how .NET Core applications handles HTTP redirects.

Visual Studio 2017 버전 15.8.4 서비스 릴리스 -- ‘릴리스 날짜: 2018년 9월 11일’Visual Studio 2017 version 15.8.4 Service Release -- released on September 11, 2018

CVE-2018-8409 .NET Core 서비스 거부 취약성CVE-2018-8409 .NET Core Denial Of Service Vulnerability

System.IO.Pipelines가 요청을 잘못 처리하는 경우 .NET Core 2.1에 서비스 거부 취약성이 존재합니다.A denial of service vulnerability exists in .NET Core 2.1 when System.IO.Pipelines improperly handles requests. 이 취약성을 악용하는 공격자는 System.IO.Pipelines를 활용하는 애플리케이션에 대한 서비스 거부로 이어질 수 있습니다.An attacker who successfully exploited this vulnerability could cause a denial of service against an application that is leveraging System.IO.Pipelines. 취약성은 인증 없이 원격으로 악용될 수 있습니다.The vulnerability can be exploited remotely, without authentication. 인증되지 않은 원격 공격자가 애플리케이션에 특별히 구성된 요청을 제공하여 이 취약성을 악용할 수 있습니다.A remote unauthenticated attacker could exploit this vulnerability by providing specially crafted requests to the application.

CVE-2018-8409 ASP.NET Core 서비스 거부 취약성CVE-2018-8409 ASP.NET Core Denial Of Service Vulnerability

웹 요청을 잘못 처리하는 ASP.NET Core 2.1에 서비스 거부 취약성이 존재합니다.A denial of service vulnerability exists in ASP.NET Core 2.1 that improperly handles web requests. 이 취약성을 악용하는 공격자는 ASP.NET Core 웹 애플리케이션에 대한 서비스 거부로 이어질 수 있습니다.An attacker who successfully exploited this vulnerability could cause a denial of service against an ASP.NET Core web application. 취약성은 인증 없이 원격으로 악용될 수 있습니다.The vulnerability can be exploited remotely, without authentication. 인증되지 않은 원격 공격자가 ASP.NET Core 애플리케이션에 특별히 구성된 웹 요청을 제공하여 이 취약성을 악용할 수 있습니다.A remote unauthenticated attacker could exploit this vulnerability by providing a specially crafted web requests to the ASP.NET Core application.

Visual Studio 2017 버전 15.8 -- ‘릴리스 날짜: 2018년 8월 14일’Visual Studio 2017 version 15.8 -- released on August 14, 2018

CVE-2018-0952 진단 허브 표준 수집기 권한 상승 취약성CVE-2018-0952 Diagnostic Hub Standard Collector Elevation of Privilege Vulnerability

Visual Studio 서비스에는 권한 상승 취약성이 있으며, 이로 인해 파일을 쓸 때 관리자가 아닌 사용자가 시스템 권한을 가질 수 있습니다.An elevation of privilege vulnerability exists in a visual studio service, which can lead to system privileges by a non-admin user when writing files. 이를 활용하는 공격자는 사용자 수준 액세스 권한만 있는 상태에서 시스템으로 파일을 작성할 수 있습니다.An attacker who took advantage of this could write files as system while only having user level access. 이 보안 업데이트는 현재 사용자로 가장하여 파일 위치에 대한 액세스의 유효성을 검사하여 이 문제를 해결합니다.This security update addresses this issue by impersonating the current user to validate access to the file location.

Visual Studio 2017 버전 15.8 미리 보기 4 -- 릴리스 날짜: 2018년 7월 10일Visual Studio 2017 version 15.8 Preview 4 -- released on July 10, 2018

CVE-2018-8172 Visual Studio 원격 코드 실행 취약성CVE-2018-8172 Visual Studio Remote Code Execution Vulnerability

특별히 구성된 프로젝트 또는 리소스 파일을 열어 사용자 컴퓨터의 악용으로 이어질 수 있는 원격 코드 실행 취약성입니다.A remote code execution vulnerability that can lead to exploitation of a user's machine by opening a specially crafted project, or resource file. 보안 업데이트는 Visual Studio에서 파일의 원본 태그를 확인하는 방법을 수정하여 취약성을 해결합니다.The security update addresses the vulnerability by correcting how Visual Studio checks the source markup of a file.

CVE-2018-8260 .NET Framework 원격 코드 실행 취약성CVE-2018-8260 .NET Framework Remote Code Execution Vulnerability

원격 코드 실행 취약성은 공격자가 현재 사용자의 컨텍스트에서 임의 코드를 실행하도록 허용하여 사용자 머신의 악용으로 이어질 수 있는 .NET 소프트웨어에 존재합니다.A remote code execution vulnerability exists in .NET software that can lead to exploitation of a user's machine by allowing attackers to run arbitrary code in the context of the current user. 보안 업데이트는 .NET에서 파일의 원본 태그를 확인하는 방법을 수정하여 취약성을 해결합니다.The security update addresses the vulnerability by correcting how .NET checks the source markup of a file.

CVE-2018-8232 .NET Microsoft Macro Assembler 변조 취약성CVE-2018-8232 .NET Microsoft Macro Assembler Tampering Vulnerability

Microsoft Macro Assembler 부적절한 코드 유효성 검사와 관련된 변조 취약성입니다.Tampering vulnerability related to the Microsoft Macro Assembler improperly validating code. 보안 업데이트는 Microsoft Macro Assembler에서 코드 논리의 유효성을 올바르게 검사하여 취약성을 해결합니다.The security update addresses the vulnerability by ensuring that Microsoft Macro Assembler properly validates code logic.

CVE-2018-8171 ASP.NET Core 보안 기능 우회 취약성CVE-2018-8171 ASP.NET Core Security Feature Bypass Vulnerability

ASP.NET Core 보안 기능 우회 취약성은 공격자의 무한 인증 시도로 이어질 수 있는 잘못된 로그인 시도 횟수의 유효성이 검사되지 않는 경우 존재합니다.An ASP.NET Core Security Feature Bypass Vulnerability exists when the number of incorrect login attempts is not validated that can lead to an attacker trying infinite authentication attempts. 업데이트는 잘못된 로그인 시도 횟수의 유효성을 검사하여 취약성을 해결합니다.The update addresses the vulnerability by validating the number of incorrect login attempts.

Visual Studio 2017 버전 15.8 미리 보기 3 -- 릴리스 날짜: 2018년 6월 26일Visual Studio 2017 version 15.8 Preview 3 -- released on June 26, 2018

CVE-2018-11235 Git 보안 취약성에 대한 Microsoft 보안 권고CVE-2018-11235 Microsoft Security Advisory for Git Security Vulnerability

Git 커뮤니티에 공개된 Git 보안 취약성을 해결했습니다.We fixed a security vulnerability in Git that was disclosed by the Git community. 취약성으로 인해 사용자가 악성 리포지토리를 복제할 때 임의의 코드가 실행될 수 있습니다.The vulnerability can lead to arbitrary code execution when a user clones a malicious repository.

Visual Studio 2017 버전 15.8 미리 보기 1 -- 릴리스 날짜: 2018년 5월 8일Visual Studio 2017 version 15.8 Preview 1 -- released on May 08, 2018

CVE-2018-0765 .NET Core 서비스 거부 취약성에 대한 Microsoft 보안 권고CVE-2018-0765 Microsoft Security Advisory for .NET Core Denial of Service Vulnerability

  • Microsoft는 .NET Core 및 .NET 네이티브 버전 2.0의 취약점에 대한 정보를 제공하기 위해 이 보안 권고를 릴리스합니다.Microsoft is releasing this security advisory to provide information about a vulnerability in .NET Core and .NET native version 2.0. 이 권고는 또한 개발자가 이 취약점을 제거하기 위해 자신의 애플리케이션을 업데이트할 수 있는 지침을 제공합니다.This advisory also provides guidance on what developers can do to update their applications to remove this vulnerability.
  • Microsoft는 .NET Framework 및 .NET Core가 부적절하게 XML 문서를 처리하는 경우 발생하는 서비스 거부 취약점을 알고 있습니다.Microsoft is aware of a denial of service vulnerability that exists when .NET Framework and .NET Core improperly process XML documents. 이 취약점을 악용하는 공격자는 .NET Framework, .NET Core 또는 .NET 네이티브 애플리케이션에 대한 서비스 거부로 이어질 수 있습니다.An attacker who successfully exploited this vulnerability could cause a denial of service against a .NET Framework, .NET Core, or .NET native application.
  • 업데이트는 .NET Framework, .NET Core 및 .NET 네이티브 애플리케이션에서 XML 문서를 처리하는 방법을 수정하여 취약점을 해결합니다.The update addresses the vulnerability by correcting how .NET Framework, .NET Core, and .NET native applications handle XML document processing.
  • 사용자 애플리케이션이 ASP.NET Core 애플리케이션인 경우 개발자에게는 ASP.NET Core 2.0.8로 업데이트가 권고됩니다.If your application is an ASP.NET Core application, developers are also advised to update to ASP.NET Core 2.0.8.

Release Notes Icon Visual Studio 2017 버전 15.8.1Visual Studio 2017 version 15.8.1

릴리스 날짜: 2018년 8월 17일released on August 17, 2018

15.8.1에서 해결된 주요 문제Top Issues Fixed in 15.8.1

다음은 15.8.1에서 해결된 문제입니다.These are the issues addressed in 15.8.1:

  • 웹 프로젝트를 디버깅하는 동안 브라우저 창이 닫힐 때 Visual Studio가 예기치 않게 종료되는 문제를 해결했습니다.Fixed an issue where Visual Studio would close unexpectedly when a browser window was closed while debugging a Web project.

Release Notes Icon Visual Studio 2017 버전 15.8.2Visual Studio 2017 version 15.8.2

릴리스 날짜: 2018년 8월 28일released on August 28, 2018

15.8.2에서 해결된 주요 문제Top Issues Fixed in 15.8.2

고객이 보고한 문제 중 15.8.2에서 해결된 문제는 다음과 같습니다.These are the customer-reported issues addressed in 15.8.2:


Release Notes Icon Visual Studio 2017 버전 15.8.3Visual Studio 2017 version 15.8.3

릴리스 날짜: 2018년 9월 6일released on September 6, 2018

15.8.3에서 해결된 주요 문제Top Issues Fixed in 15.8.3

고객이 보고한 문제 중 15.8.3에서 해결된 문제는 다음과 같습니다.These are the customer-reported issues addressed in 15.8.3:


Release Notes Icon Visual Studio 2017 버전 15.8.4Visual Studio 2017 version 15.8.4

릴리스 날짜: 2018년 9월 11일released on September 11, 2018

15.8.4에서 해결된 주요 문제Top Issues Fixed in 15.8.4

고객이 보고한 문제 중 15.8.4에서 해결된 문제는 다음과 같습니다.These are the customer-reported issues addressed in 15.8.4:

보안 공지 알림Security Advisory Notices


Release Notes Icon Visual Studio 2017 버전 15.8.5Visual Studio 2017 version 15.8.5

릴리스된 날짜: 2018년 9월 20일released on September 20, 2018

15.8.5의 새로운 기능에 대한 요약Summary of What's New in 15.8.5

  • Visual Studio Tools for Xamarin은 이제 Xcode 10을 지원합니다.Visual Studio Tools for Xamarin now supports Xcode 10.

15.8.5에서 해결된 주요 문제Top Issues Fixed in 15.8.5

고객이 보고한 문제 중 15.8.5에서 해결된 문제는 다음과 같습니다.These are the customer-reported issues addressed in 15.8.5:

15.8.5의 새로운 기능에 대한 세부 정보Details of What's New in 15.8.5

Xamarin용 Visual Studio ToolsVisual Studio Tools for Xamarin

이제 Visual Studio Tools for Xamarin은 iOS 12, tvOS 12 및 watchOS 5용 앱을 빌드하고 디버그할 수 있게 해주는 Xcode 10을 지원합니다.Visual Studio Tools for Xamarin now supports Xcode 10 that allows you to build and debug apps for iOS 12, tvOS 12, and watchOS 5. 사용 가능한 새 기능에 대한 자세한 내용은 iOS 12를 준비하는 방법iOS 12에 대한 소개를 참조하세요.See how to get ready for iOS 12 and our introduction to iOS 12 for more details on the new features available.


Release Notes Icon Visual Studio 2017 버전 15.8.6Visual Studio 2017 version 15.8.6

릴리스 날짜: 2018년 10월 2일released on October 02, 2018

15.8.6의 새로운 기능에 대한 요약Summary of What's New in 15.8.6

15.8.6에서 해결된 주요 문제Top Issues Fixed in 15.8.6

고객이 보고한 문제 중 15.8.6에서 해결된 문제는 다음과 같습니다.These are the customer-reported issues addressed in 15.8.6:

15.8.6의 새로운 기능에 대한 세부 정보Details of What's New in 15.8.6

유니버설 Windows 플랫폼 개발자용 최신 Windows 10 SDKLatest Windows 10 SDK for Universal Windows Platform developers

최신 Windows 10 SDK(빌드 17763)는 유니버설 Windows 플랫폼 개발 워크로드에 대한 선택적 구성 요소로 사용할 수 있습니다.The latest Windows 10 SDK (build 17763) is now available as an optional component for the Universal Windows Platform development workload. Windows 10 SDK(10.0.17763.0) 확인란을 선택하여 이 SDK를 워크로드에 추가할 수 있습니다.You can add this SDK to the workload by selecting the Windows 10 SDK (10.0.17763.0) checkbox.


Release Notes Icon Visual Studio 2017 버전 15.8.7Visual Studio 2017 version 15.8.7

릴리스 날짜: 2018년 10월 10일released on October 10, 2018

15.8.7의 새로운 기능What's New in 15.8.7

Azure DevOpsAzure DevOps

Visual Studio Team Services는 이제 Azure DevOps입니다.Visual Studio Team Services is now Azure DevOps! 팀 탐색기 및 Visual Studio의 참조에서 이 새로운 브랜딩을 확인할 수 있습니다.You will see this new branding in Team Explorer and in references across Visual Studio.

보안 공지 알림Security Advisory Notices

CVE-2018-8292 .NET Core 정보 공개 취약성CVE-2018-8292 .NET Core Information Disclosure Vulnerability


Release Notes Icon Visual Studio 2017 버전15.8.8Visual Studio 2017 version 15.8.8

릴리스 날짜: 2018년 10월 24일released on October 24, 2018

15.8.8에서 해결된 주요 문제Top Issues Fixed in 15.8.8

고객이 보고한 문제 중 15.8.8에서 해결된 문제는 다음과 같습니다.These are the customer-reported issues addressed in 15.8.8:


Release Notes Icon Visual Studio 2017 버전 15.8.9Visual Studio 2017 version 15.8.9

릴리스된 날짜: 2018년 11월 2일released on November 2, 2018

15.8.9에서 해결된 주요 문제Top Issues Fixed in 15.8.9

고객이 보고한 문제 중 15.8.9에서 해결된 문제는 다음과 같습니다.These are the customer-reported issues addressed in 15.8.9:


알려진 문제Known Issues

알려진 기존 문제 및 Visual Studio 2017 버전 15.8에서 사용 가능한 해결 방법을 모두 참조하세요.See all existing known issues and available workarounds in Visual Studio 2017 version 15.8.

Visual Studio 2017 Known Issues Visual Studio 2017 Known Issues


사용자 의견 & 제안Feedback & Suggestions

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


BlogsBlogs

개발자 도구 블로그 사이트에서 사용 가능한 인사이트 및 권장 사항을 활용하여 모든 새 릴리스에 대한 최신 정보와 다양한 기능에 대한 심층적인 게시물을 확인하세요.Take advantage of the insights and recommendations available in the Developer Tools Blogs site to keep you up-to-date on all new releases and include deep dive posts on a broad range of features.

Developer Tools Blogs


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

이전 버전의 Visual Studio 2017과 관련된 자세한 내용은 Visual Studio 2017 릴리스 정보 기록 페이지를 참조하세요.For more information relating to past versions of Visual Studio 2017, see the Visual Studio 2017 Release Notes History page.


위쪽
Top of Page