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 the Update Visual Studio 2017 to the most recent release. また、オフラインでインストールする方法の手順もご覧ください。Also, see instructions on how to install offline.

他の Visual Studio 2017 製品をダウンロードする場合は、visualstudio.microsoft.com/downloads ページを参照してください。Visit the visualstudio.microsoft.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 15.8 リリースの詳細については、次の投稿を参照してください。You can find in-depth information about the Visual Studio 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 Announcements


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:

Release Notes Icon Visual Studio 2017 バージョン 15.8 Preview 4 セキュリティ アドバイザリ メモVisual Studio 2017 version 15.8 Preview 4 Security Advisory Notices

更新日: 2018 年 7 月 10 日updated 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. 詳細については、Microsoft セキュリティ レスポンス センターの記事 (CVE-2018-8172) を参照してください。For more information, see Microsoft Security Response Center article (CVE-2018-8172).

CVE-2018-8260 .NET Framework のリモート コード実行の脆弱性CVE-2018-8260 .NET Framework Remote Code Execution Vulnerability

  • .NET ソフトウェアにはリモート コード実行の脆弱性が存在します。そのため、攻撃者は現在のユーザーのコンテキストで任意のコードを実行することができ、ユーザーのコンピューターの悪用につながる可能性があります。A remote code execution vulnerability exists in .NET software which 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. 詳細については、Microsoft セキュリティ レスポンス センターの記事 (CVE-2018-8260) を参照してください。For more information, see Microsoft Security Response Center article (CVE-2018-8260).

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. 詳細については、Microsoft セキュリティ レスポンス センターの記事 (CVE-2018-8232) を参照してください。For more information, see Microsoft Security Response Center article (CVE-2018-8232).

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. 詳細については、Microsoft セキュリティ レスポンス センター (CVE-2018-8171) を参照してください。For more information, see Microsoft Security Response Center (CVE-2018-8171).

Release Notes Icon Visual Studio 2017 バージョン 15.8 Preview 3 セキュリティ アドバイザリ メモVisual Studio 2017 version 15.8 Preview 3 Security Advisory Notice

更新日: 2018 年 6 月 26 日updated June 26, 2018

CVE-2018-11235 Git のセキュリティの脆弱性に関するマイクロソフト セキュリティ アドバイザリCVE-2018-11235 Microsoft Security Advisory for Git Security Vulnerability

Release Notes Icon Visual Studio 2017 バージョン 15.8 Preview 1 セキュリティ アドバイザリ メモVisual Studio 2017 version 15.8 Preview 1 Security Advisory Notice

更新日: 2018 年 5 月 8 日updated 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.

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 月 15 日にリリースreleased on August 15, 2018

インストール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, then install option
(図 1) [全部ダウンロードしてからインストールする] オプション(Figure 1) Download, then install 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 paused:

    • パフォーマンス プロファイラー (ALT-F2) での CPU 使用率ツールで一時停止を再開できるようになりました (図 2)The CPU Usage tool in the Performance Profiler (ALT-F2) can now start paused (Figure 2). これは、CPU 使用率を調査する価値があるシナリオに到達するまでに時間がかかるときに役立つ場合があります。This can be useful when it takes a while to get to a scenario worthy of a CPU Usage investigation. 無効になっている CPU 使用率のコレクションを開始することで、パフォーマンス プロファイラーは、明確に有効化されるまで、一切の CPU 使用状況サンプル スタック データを収集しません。By starting the CPU usage collection disabled, the Performance Profiler will not collect any CPU usage sample stack data until it is specifically enabled. この結果、収集して分析するデータ量が大幅に少なくなるため、パフォーマンス調査の効率性が高まります。This makes the resultant amount of data much smaller to collect and analyze, thus making your performance investigations more efficient.
    • CPU 使用率サンプル コレクションを無効にしてセッションを開始するには、パフォーマンス プロファイラーの起動ページで CPU 使用率ツールの隣にある設定 (歯車) アイコンをクリックし、[CPU プロファイルを有効にする (サンプリング)] のチェックボックスをオフにします。To start a session with CPU Usage sample collection disabled, click the settings (gear) icon next to the CPU Usage tool in the Performance Profiler launch page to display the CPU Usage property page, then uncheck the checkbox labeled Enable CPU Profiling (Sampling). 最後に、[OK] を押して設定を保存します。Finally, press 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 (by pressing the Start button in the Performance Profiler launch page), you'll see a monitoring display showing the CPU utilization graph \*(Figure 3)\* that allows you to control the CPU profiling. CPU 使用率のサンプル スタック データの収集を有効にするには、ビューの中央にある **[CPU プロファイルを有効にする]** リンクを押すか、CPU 使用率のグラフのすぐ下にある **[CPU プロファイルの記録]** ボタンをクリックします。To enable CPU usage sample stack data collection, press the **Enable CPU profiling** link in the middle of the view, or click the **Record CPU Profile** button just below the CPU utilization graph. **[CPU プロファイルの記録]** ボタンをクリックして、必要に応じて何度でもサンプル データの収集を有効化または無効化することができます。You can click the **Record CPU Profile** button 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 Tool Monitoring View
  • .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 causes 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 as well. さらに、ガベージ コレクション (GC) イベントでは、収集して保持されたオブジェクトが容易に判別され、アプリケーションのメモリ使用量に影響を及ぼしているオブジェクトの種類がすばやく判断されます。In addition, for Garbage Collection (GC) events, one can easily determine which objects were collected and retained, quickly determining object types which dominate the memory usage of the application.
    • これは、API の作成者が割り当てを最小限に抑えるのに特に役立ちます。This is especially useful for API writers to help minimize allocations. 多くのアプリケーションでは、診断データの収集に関連するバッファーの制限がオーバーランされますが、API の主なシナリオを実行する小規模なテスト アプリケーションは、非常にうまく診断することができます。A lot of 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 monitoring view with 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 from the list of available tools, then press the Start button.
    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) ごと、およびモジュール内の関数ごとにパフォーマンス情報を表示するモジュール/関数ビューが追加されました。Added a Modules/Functions view which 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 使用率グラフに、'インスタンスの表示' が追加されました。Added 'instance indication' 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 > General > Keyboard and using 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 develop in the e.g. 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

ユニバーサル 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.

  • プロパティ インスペクター内でコレクションを編集できるようになりました。Collections can now be edited 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 readonly 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 byrefs 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 being 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 undentation on list and array brackets

F# 4.5 では、リストおよび配列のブラケットに関するインデント規則が緩和されました。これまでは、それらのブラケットが独立した行に配置されている場合に、順方向に 1 スコープだけインデントを設定することが必須でした。F# 4.5 now relaxes the indentation rule for list and array brackets that required then 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 が発生するというバグが修正されました。A bug resulting in an AccessViolatioNException when using yield! with struct-based enumerables has been fixed.
  • 再び、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.
  • インライン関数上で動的呼び出しの使用を試みる場合に使用されるエラー メッセージが無視されていたというバグが修正されました。A bug has been fixed 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 氏によって更新されてよりわかりやすくなりました。The error message when branches of a pattern match do not return the same type has been updated to be friendlier by Isaac Abraham.
  • オーバー ロードされたメソッド実装が欠落しているインターフェイス実装をコンパイルするときに内部エラーが発生するというバグが Steffen Forkmann 氏によって修正されました。A bug where an internal error when 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 improvements and some new editor features are in 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/contro.fsi ファイルが async.fs/async.fsievent.fs/event.fsieventmodule.fs/eventmodule.fsimailbox.fs/mailbox.fsiobservable.fs/observable.fsi に分割されました。The very large control.fs/contro.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 (similarly to running the program without the debugger). [ツール][オプション][デバッグ][全般] の順に選択すると、コンソールを自動的に閉じるようにこの動作を切り替えることができます。This behavior can be toggled back to closing the console automatically in Tools > Options > Debugging > General.

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 サポートを追加できます (図 11):You can add Docker support when creating the project (Figure 11):

Enable Docker Support
(図 11) Docker サポートを有効にする(Figure 11) Enable Docker Support

あるいは、ソリューション エクスプローラーのプロジェクトのコンテキスト メニューから、既存のプロジェクトの Docker サポートを有効にできます (図 12)Or, you can enable Docker support to an existing project through the project's context menu in Solution Explorer (Figure 12). 有効にすると、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
(図 12) Docker サポートの追加(Figure 12) Add Docker Support

コンテナー内で実行されるときにプロジェクトをデバッグできるように、Visual Studio によって Docker のデバッガー起動プロファイルも追加されます (図 13)Visual Studio also adds a debugger launch profile (Figure 13) for Docker so that the project can be debugged while running within a container.

Docker Launch Profile
(図 13) Docker 起動プロファイル(Figure 13) 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, 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 プロジェクトに追加することもできます (図 14)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 14). ソリューション エクスプローラーで 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
(図 14) オーケストレーション サポートの追加(Figure 14) 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 automatically collect telemetry. Application Insights も含まれるリージョンを選択する場合、既定で有効になります。If you choose a region that also has Application Insights, it defaults to enabled. 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 バンド プロジェクトをビルドすることもできますが、ビルド プロセスはネイティブ Mac ツール チェーンを使用することなくローカルで実行されます。そのため、アプリでの実行やデバッグには、生成された IL アセンブリを使用できません。You can also build Xamarin.Mac binding projects, 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 エミュレーターのサポートが追加されました (図 15)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 15). このサポート追加により、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.
(図 15) Google Android Emulator と HoloLens エミュレーター
(Figure 15) 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:

  • 分割ビュー エディターが導入され、レイアウトを同時に作成、編集、プレビューできるようになりました (図 16)A split-view editor was introduced which allows you to create, edit, and preview your layouts at the same time (Figure 16).
Screenshot of the Xamarin.Android split-view editor.
(図 16) Xamarin.Android 分割ビュー エディター
(Figure 16) 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.

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 15.8」 (Visual Studio 15.8 の Python) というブログ投稿を参照してください。For more information about the above features, be sure to check out our Python in Visual Studio 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 の使用方法の詳細については、Microsoft ドキュメントをお読みください。Read our docs to learn more about how to use 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 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 15.8 には .NET Core SDK 2.1.400 が含まれます。Visual Studio 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 プロジェクトに関して、ソリューション エクスプローラーで、File Explorer 経由でプロジェクトに直接追加されたファイルに Git と TFS の正しいトラッキング アイコンが表示されるようになりました。ソリューションをリロードする必要がありません。For .NET Core projects, files added directly to the project via File Explorer will now show the correct Git and TFS tracking icons in the Solution Explorer without having to reload the solution.

.NET Test Adapter の拡張機能: 破壊的変更と非推奨.NET Test Adapter Extension: breaking change and deprecation

.Net Test Adapter に次の破壊的変更と非推奨が適用されます。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 extension is deprecated, but still supported. つまり、[ツール]、[オプション]、[テスト] の順に選択すると、新しいオプションが 2 つ表示されます。This means two new options will be 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 loading of packages that autoload asynchronously

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.


フィードバック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