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 |


注意

英語以外のバージョンからこのページにアクセスしていて、最新の内容を見たい場合は、このリリース ノートの英語版ページをご覧ください。If you are accessing this page from a non-English language version, and want to see the most up-to-date content, please visit this Release Notes page in English. ページ フッターにある地球アイコンをクリックし、目的の言語を選択すると、このページの言語を変更できます。You can change the language of this page by clicking the globe icon in the page footer and selecting your desired language.


ボタンをクリックして、Visual Studio 2017 の最新バージョンをダウンロードします。Click a button to download the latest version of Visual Studio 2017. Visual Studio 2017 のインストールと更新の手順については、「Visual Studio 2017 を最新リリースに更新する」をご覧ください。For instructions on installing and updating Visual Studio 2017, see Update Visual Studio 2017 to the most recent release. また、オフラインでインストールする方法の手順もご覧ください。Also, see instructions on how to install offline.

他の Visual Studio 2017 製品をダウンロードするには、visualstudio.com/downloads ページを参照してください。Visit the visualstudio.com/downloads page to download other Visual Studio 2017 products.


15.8 の新機能What's New in 15.8

Visual Studio ブログは、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. マイクロソフトのラボでは、10,000 を超える MSTests があるソリューションで 1 つのテストを実行した場合、最大 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 プロファイルを有効にする (サンプリング)] チェック ボックスをオフにし、[OK] をクリックして設定を保存します。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:
    • "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 でスタイル規則として構成することもできます。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 + PageUp/PageDown) により、次/前の問題 (エラー、波線、電球) にスキップすることができます。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 + 左クリックします。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 + `.
  • キーバインドを 2 つの新しいキーボード プロファイル、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 Fall Creators Update (ビルド 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.

F# 4.5 および F# Tools for Visual StudioF# 4.5 and F# Tools for Visual Studio

このリリースでは F# 言語バージョン 4.5 を導入しました。We introduced the F# language version 4.5 with this release. これは FSharp.Core の新しい 4.5.x ファミリにも対応しています (F# コア ライブラリ)。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. また、このリリースでは F# Tools for Visual Studio に対してさまざまな機能強化が行われています。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

Span<'T> と関連する機能を実装しました。これにより、SpanMemory、および ref に類似したコンストラクトを使用した API の効率的な使用と生成が F# で可能になります。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.ofVoidPtr 関数と NativePtr.toVoidPtr 関数。New NativePtr.ofVoidPtr and NativePtr.toVoidPtr functions in FSharp.Core.
  • 新たに追加された inref<'T> 型 (読み取り専用の byref) と outref<'T> 型 (書き込み専用の byref)。New types inref<'T> and outref<'T>, which are read-only byrefs and write-only byrefs, respectively. これは、C# における in ref および out ref に対応します。This correspond to in ref and out ref in C#.
  • ByRefLike 構造体 (Span および ReadOnlySpan など) を生成する機能。The ability to produce ByRefLike structs (such as Span and ReadOnlySpan).
  • IsReadOnly 構造体を生成する機能。The ability to produce IsReadOnly structs.
  • メソッドからの byref 戻り値および inref 戻り値の暗黙的な逆参照。Implicit dereference of byref- and inref-returns from methods.
  • byref/inref/outref に対して拡張メンバーを生成する機能。The ability to produce extension members on byref/inref/outref.

この機能セットによって、F# 4.1 での byref 戻り値の初期設計に存在するバグが修正されます。byref を返す関数、メソッド、およびプロパティでは戻り値が暗黙的に逆参照されていませんでした。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 戻り値の処理方法を使用して機能をインライン展開するために、この変更を実施しました。We make this change to bring the feature in-line with how C# handles ref-returns. ref 戻り値の暗黙的な逆参照が使用されるようになったことを型注釈で示す場合は、エラー メッセージが使用されます。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.

span および ref に類似したコンストラクトの詳細については、この機能セットに関する RFC を参照してください。You can learn more about span and ref-like constructs in the RFC for this feature set.

コンピュテーション式での Match!Match! in computation expressions

John Wostenberg 氏の全面的なご協力により、F# 4.5 では、コンピュテーション式内で使用する新しいキーワードとして match! が導入されました。F# 4.5 introduces match!, a new keyword for use within computation expressions, contributed entirely by John Wostenberg. この糖衣構文は、let! の後に、結果に対する match を続けた場合と等価です。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 では、リストおよび配列のブラケットに関するインデント規則が緩和されました。これまでは、それらのブラケットが独立した行に配置されている場合に、順方向に 1 スコープだけインデントを設定することが必須でした。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:

  • F# コンパイラ内のすべての割り当ての最大 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.
  • F# for .NET Core のデバッグ ビルドの場合、末尾呼び出しが既定では無効にされます。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.
  • プロジェクト ファイル内で設定できる WarningsNotAsErrors フラグが、F# により優先されるようになりました。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.
  • John Wostenberg 氏のご協力により、F# 列挙型でのパターン マッチが不完全な場合に、含まれていないケースの例を示す詳細な警告が生成されるようになりました。Incomplete pattern matches on F# enumerations now produces a detailed warning that gives an example of a case not covered, contributed by John Wostenberg.
  • Matthias Diitrich 氏のご協力により、`#nowarn "2003" が優先されるようになりました。`#nowarn "2003" is now respected, contributed by Matthias Diitrich.
  • F# オーバー ロード ソリューションで C# 拡張メソッドを使用できない場合があるというバグが、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.Func および System.Action オーバーロードを入力する FuncConvert.FromFunc API および FuncConvert.FromAction。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 は利用可能な新しい種類の機能であり、アクティブ パターンのパフォーマンス向上を最終的な目標にして追加される一連の機能の 1 番目となります。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.
  • Vasily Kirichenko 氏のご協力により、bool 用の比較で、汎用的な高速比較が使用されるようになりました。Comparison for bool now uses fast generic comparison, contributed by Vasily Kirichenko.
  • Patrick McDonald 氏のご協力により、Array.allPairs 用の概要テキストが更新されて正しい内容になりました。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.
  • Vasily Kirichenko 氏、Steffen Forkmann 氏、Gauthier Segay 氏のご協力により、ファイルが非常に大きい場合に IntelliSense のパフォーマンスを分析し向上させるコミュニティ主導の作業が行われました。A community-driven effort to analyze and improve IntelliSense performance for very large files was contributed by Vasily Kirichenko, Steffen Forkmann, and Gauthier Segay. 非常に大きなファイル (10 K + コード行) での 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.
  • IntelliSense パフォーマンス UI が変更され、さまざまな IDE 機能に対して古い型チェック情報を構成できるようになりました。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.
  • Unused Opens アナライザーのパフォーマンスが 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.
  • コンストラクター呼び出しサイトで、Type Provider の静的パラメーターに対して Signature Help ツールヒントが生成されるようになりました。この作業には 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#]、[コード レンズ] の順に選択してオンにできます。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.
  • DictionaryContainsKey を使用し、その後 Item 呼び出しを使用するコードで 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

Microsoft は、インフラストラクチャ、パッケージング、Microsoft のオープン ソース貢献で次の機能強化を行いました。We made the following enhancements to infrastructure, packaging, and our open source contribution experience:

  • Visual Studio で配布される F# コンパイラは、F# Compiler 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.fsievent.fs/event.fsieventmodule.fs/eventmodule.fsimailbox.fs/mailbox.fsiobservable.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 共同作成者向けのダウンロード パッケージが 1 つ少なくなりました。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. これはマクロ _MSVC_TRADITIONAL で制御されます。このマクロは従来のプリプロセッサ使用時には 1、新しい試験的標準準拠プリプロセッサの使用時には 0 で定義されます。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 Optimizer に新しい機能が 2 つ追加されました。冗長ストアの削除と冗長ブランチの折りたたみです。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
  • Microsoft はコード分析の操作性の一新に取り組んでいます。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 でコンパイルされるとき、あらゆる C++ ライブラリに対して制御できます。非ユーザー ライブラリ パスは .natjmc ファイルに指定されます。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
  • データ ブレークポイントを Watch、Quickwatch、Autos、Locals ウィンドウ内に設定できるようになりました。ほんの数回の短いクリックで、メモリに保存されている値が変わるときにブレークできます。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. (注: 実行時に必要な HTML および JS ファイルに .vue ファイルを変換するには、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 Web アプリケーション] というテンプレートが示されるようになります。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 ファイルのスクリプト ブロック内の TypeScript コードを編集する例を以下に示します (図 11)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 では、保存したファイルの lint だけでなく、編集時にも JavaScript ファイルが lint されるようになります。Rather than only linting saved files, Visual Studio will now lint JavaScript files as you edit, as well.
  • 開いているファイルだけでなく、プロジェクト内のすべての JS ファイルに関する結果を報告することができます。lint しないプロジェクトの一部である場合は、.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 は Visual Studio でグローバルに無効にすることができます。その場合、[ツール] > [オプション] > [テキスト エディター] > [Javascript/Typescript] > [Lint][ESLint の有効化] 設定のチェック ボックスをオフにします (図 12)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

以前のリリースでは、単一の Node.js プロセスで、JavaScript と TypeScript のすべての言語サービス操作が処理されていました。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 ツールVisual Studio Web Tools

ライブラリ マネージャーは、Visual Studio 2017 に含まれる新しい機能です。Library Manager is a new feature included in Visual Studio 2017. 自分の Web プロジェクトでクライアント側ライブラリを管理できます。It helps you manage client-side libraries in your web projects.

コンテナー ツールContainer Tools

ASP.NET Core Web プロジェクト用に、Docker コンテナー エクスペリエンスという新しいプロジェクトを 1 つ追加しました。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 が 1 つ作成されます。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 プロジェクトが含まれる場合、既定では、ソリューションの開始を選択したとき、コンテナーは 1 つだけ実行されます。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.

コンテナー化されたプロジェクトを任意の方法で実行したら、プロジェクトを右クリックし、[Build Docker Image](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 Web プロジェクトに追加することもできます (図 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 Web プロジェクトを右クリックし、[追加] > [コンテナー オーケストレーター サポート] の順に選択し、ドロップダウン メニューから [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. タグは手動で追加するか (既定は "最新")、タグがすべて一意になるように自動生成タグを利用できます。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 も含まれるリージョンを選択する場合、既定で有効になります。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 プロジェクトを公開するとき、新しい ZIP から実行機能を利用した公開を選択できます。When publishing Azure Functions projects you can choose to publish using the new Run-From-Zip feature.

Xamarin 用の Visual Studio ツールVisual 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 Emulator のサポートHyper-V Android Emulator Support

今回のリリースでは、Windows 10 2018 年 4 月の更新プログラムで実行する際に Hyper-V と互換性がある Google Android Emulator に関するサポートが追加されました (図 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 エミュレーターなど、Hyper-V ベースの他のテクノロジと並行して利用できます。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 に常に対応し、面倒な設定なしで Google Play 開発者サービスと連動し、カメラ、位置情報、クイック起動など、Android エミュレーターのあらゆる機能に対応する高速の Android エミュレーターにアクセスできるようになりました。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 Emulator と HoloLens Emulator
(Figure 17) Google Android Emulator and HoloLens Emulator

Xamarin.Android DesignerXamarin.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 PreviewerXamarin.Forms Previewer

Xamarin.Forms バージョン 3.1.0.583944 以降の使用時、Xamarin.Forms Previewer にツールボックス サポートが与えられるようになりました。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 Previewer は 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.
  • 上記の機能の詳細については、「Python in Visual Studio 2017 version 15.8」 (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 Function 設定の移行Migrate Local Azure Function Settings

[発行の概要] ページにある "マネージド アプリケーションの設定" ダイアログに local.settings.json ファイルからの値が表示されるようになりました。また、このページでは、Azure でホストしているリモート Azure Function アプリに値を移行できます。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 Function プロジェクトが含まれるソリューションを対象に、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

テスト エクスプローラーでは、階層ビューでグループの 1 つが選択されているとき、テスト ステータスの概要ウィンドウ (テスト エクスプローラーの下部ウィンドウ) に表示される有益な情報が増えました。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. 拡張機能ユーザーはこれらの拡張機能をインストールすることで、Rust など、お気に入りの言語を Visual Studio 内で使用できます。Extension users can install these extensions to start using their favorite language inside Visual Studio like Rust.

AsyncPackage テンプレートAsyncPackage Template

拡張機能の作成者は項目テンプレートを使用して AsyncPackages を作成し、拡張機能のパフォーマンスを最適化できます。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. 拡張パックでは、拡張機能の一覧を作成し、それらの拡張機能を 1 つの拡張にパッケージ化し、そのパッケージを利用して拡張機能を一括インストールできます。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 テスト フレームワークは Visual Studio 拡張機能から移動となり、NuGet パッケージでそのアダプターがリリースされています。.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. つまり、[ツール] > [オプション] > [テスト] の順に選択すると、新しいオプションが 2 つ表示されます。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.
    • 2 つ目のオプションでは、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 プロジェクトの場合、プロジェクトを右クリックし、[Managed User Secrets](マネージド ユーザー シークレット) を選択することで、ソース コードに入れないシークレットを開いたり、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".

.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. 拡張機能の作成者が非同期パッケージを作成する場合、自分の拡張機能をテストしてください。Extension authors that create asyncpackages should test their extension. 詳細については、「Improving the responsiveness of critical scenarios by updating auto load behavior for extensions」 (拡張機能の自動ロード動作を更新し、重要なシナリオの反応性を改善する) を参照してください。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 New Release icon

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. この脆弱性の悪用に成功した攻撃者は、情報を使用して、さらに、Web アプリケーションを危険にさらす可能性があります。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

.NET Core 2.1 には、System.IO.Pipelines によって要求が不適切に処理される場合にサービス拒否の脆弱性が存在します。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 には、Web 要求が不適切に処理される場合にサービス拒否の脆弱性が存在します。A denial of service vulnerability exists in ASP.NET Core 2.1 that improperly handles web requests. 攻撃者がこの脆弱性を悪用して、ASP.NET Core Web アプリケーションに対するサービス拒否を発生させる可能性があります。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. 認証されていないリモートの攻撃者が、特殊な Web 要求を作成して 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 Diagnostic Hub Standard Collector の特権の昇格の脆弱性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 Preview 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 Preview 3 -- 2018 年 6 月 26 日にリリースVisual Studio 2017 version 15.8 Preview 3 -- released on June 26, 2018

CVE-2018-11235 Git のセキュリティの脆弱性に関するマイクロソフト セキュリティ アドバイザリ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 Preview 1 -- 2018 年 5 月 8 日にリリースVisual Studio 2017 version 15.8 Preview 1 -- released on May 08, 2018

CVE-2018-0765 .NET Core サービス拒否の脆弱性のマイクロソフト セキュリティ アドバイザリ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:

  • Web プロジェクトのデバッグ中にブラウザー ウィンドウが閉じられたときに、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:


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 ツールVisual 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 プラットフォーム開発ワークロードのオプション コンポーネントとして、最新の Windows 10 SDK (ビルド 17763) を利用できるようになりました。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 New Release icon

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.


既知の問題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


フィードバックFeedback

皆様のご意見をお待ちしております。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. 次に、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.


ブログBlogs

開発者ツールのブログ サイトで利用できる洞察と推奨事項を活用して、すべての新リリースを常に最新の状態に保ち、幅広い機能の深いダイブポストを含めることができます。開発者ツールのブログを参照すると、すべての新しいリリースに関する最新情報を入手することができ、さまざまな機能の詳細な記事が含まれています。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