Visual Studio Icon Visual Studio 2017 バージョン 15.6 リリース ノート

サポートされているバージョンの Visual Studio 2017 はバージョン 15.9 です。

Important

これは Visual Studio の最新バージョンではありません。 最新のリリースをダウンロードするには、 https://visualstudio.microsoft.com/downloads/ にアクセスし、 Visual Studio 2022 リリース ノートを参照してください。

Visual Studio 2017 バージョン 15.6 リリース


15.6 の注目すべき新機能の概要

15.6 で修正された上位の問題

15.6 で対処された、お客様から報告された問題を次に示します。

Visual Studio 2017 バージョン 15.6 で修正された、お客様から報告されたすべての問題を確認します。

開発者コミュニティポータル


15.6 の新機能の詳細

リリース ノート アイコン Visual Studio 2017 バージョン 15.6.0

リリース日: 2018 年 3 月 5 日

15.6 の新機能

Performance

15.6 では、特に設計時のビルド結果がキャッシュされるシナリオに対して、 ソリューションの読み込みパフォーマンスの向上を続けました。 大規模な C# および Visual Basic ソリューションは、ソリューションが既にマシンで開かれている場合と同じ速度で読み込まれます。

.NET Core ソリューションの読み込み

.NET Core に重点を置き、ラボの測定値によると、お客様は平均で 20% 速いソリューション読み込み時間を期待できます。

UI の応答性の通知

Visual Studio では、拡張機能のパフォーマンスと信頼性への影響に関する透明性を高めるために、リアルタイム分析を実行して、拡張機能が応答不能の原因となった可能性があるかどうかを判断します。 拡張機能がハングの原因と判断された場合、Visual Studio に通知が表示されます。これにより、ユーザーは拡張機能の可能性を無効にしたり、その拡張機能の今後の通知を抑制したりできるようになります (図 1)。

無効にするオプションを含む UI の応答性の通知
(図 1)拡張機能を無効にしたり、今後の通知を抑制したりするための UI 応答性通知オプション

インストールとセットアップ

  • このリリースでは、管理者権限を持たないユーザーは、管理者以外がオフライン ネットワーク インストールを作成できる Visual Studio レイアウトを作成できます。
  • Visual Studio を初めてインストールするか、Web から更新すると、Visual Studio インストーラーの新しい、より透過的なセットアップ エクスペリエンスが表示されます。 内部的には何も変わっていないのですが、新しいエクスペリエンスでは、何が起こっているかを段階的に示しています (図 2)。
Visual Studio インストーラーの透明度の設定が改善されました
(図 2)Visual Studio インストーラーの透明度の設定が改善されました
インストールを一時停止する機能を追加し、後で再開 (図 4) できるようになりました (図 3)
インストールを一時停止する
(図 3)インストールを一時停止する
インストールを再開する
(図 4)インストールを再開する
インストールの詳細

新しいインストールの詳細 (図 5) では、ダウンロード サイズ、完了したダウンロードの割合、ダウンロード率を確認できます。 インストールされているパッケージの合計数と残りの数を確認することもできます。

インストールを一時停止し、後で再開した場合、進行状況はダウンロードとインストールの残りの部分に適用され、前のカウントから開始されません。

インストールの詳細
(図 5)インストールの詳細
IDE セットアップ
  • Visual Studio の更新通知で拡張機能と更新プログラムの代わりにインストーラーに直接アクセスすることで、更新プロセスを合理化しました。

  • ワークロード "ASP.NET と Web 開発" と ".NET Core クロスプラットフォーム開発" が更新され、"Web 開発用のクラウド ツール" が含まれています。 このコンポーネントには、Visual Studio 内から Azure Functions を使用するために必要なすべてのものが含まれています。

    15.6 Preview 3 から Preview 4 以降に更新すると、ユーザーに通知または確認することなく、コンピューターが自動的に再起動することがあります。

エディターの機能強化
  • 既定のキーボード マッピングで Edit.Duplicate のショートカットとして Ctrl + D を追加しました。 前のコード (Ctrl + EV) は引き続き機能し、すべてのキーボード マッピング スキームで使用できます。
  • 選択範囲を次の論理ブロックに連続して展開できる [選択範囲の展開] コマンドを追加しました。 ショートカット Shift + Alt + = を使用して展開し、 Shift + Alt + - キーを押して現在の選択範囲を縮小できます。

F# 言語とツールの機能強化

このリリースでは、F# とそのツールに多くの機能強化が行われました。 最も重要なのは、.NET Core SDK プロジェクトに関連しています。 これまでと同様に、コミュニティからの多大な貢献もここに集まったのです。

F# コンパイラとコア ライブラリの機能強化
  • ncaveVasily Kirichenko、Microsoft によるバグ修正とパフォーマンスの改善。
  • F# コレクションでは、IReadonlyList によるIReadonlyDictionaryが実装されるようになりました。
  • NativePtr.ByRef mjmckp によるサポートが追加されました。
  • Async.StartImmediateAsTask サポートが追加されました, Onur Gumusによって.
  • Seq.transposeArray.transposeList.transposeのサポートがPatrick McDonaldにより追加されました。
  • System.Tuple これらのタプル型は現在、F# タプル構文と同義% 100 であるため、これらのプロパティを使用するときに警告が導入されました。 詳細については、リンクされた pull request を参照してください。
  • Gustavo Leon と Microsoft によって、静的に解決された型パラメーターの推論順序の回帰と別のバグ修正が修正されました。
  • FSharp.Core for .NET Standard の F# 型の IsSerializable プロパティが有効になっています。 OptionAsyncなどの F# 型は、.NET Standard および .NET Core でシリアル化できるようになりました。
  • FSharp.Core パッケージはバージョン 4.3.4 に更新され、このリリースの FSharp.Core のすべての変更が含まれています。
F# ツールの改善
  • .NET Core SDK ベースのプロジェクトのファイル順序が実装されています。たとえば、上/下の追加、フォルダーのサポート、Visual Studio UI の更新などです。プロジェクトを再読み込みする必要はありません。
  • .NET Core SDK ベースのプロジェクトのマルチターゲットのサポートが実装されました。
  • .NET Core SDK ベースのプロジェクトで共有ファイルがサポートされるようになりました。
  • .NET Standard プロジェクトは、F#/.NET Framework プロジェクトで参照できます。
  • ヴァシリー・キリチェンコユージン・オードゥチノクによるエラー報告の改善。
  • Vasily KirichenkoEugene AuduchinokDaniel Wedelich、Microsoft によるパフォーマンスの向上。
  • Vasily Kirichenko と Microsoft による、多数のバグ修正によるより正確なオートコンプリート。
  • 未オープンの名前空間内の静的メンバーはオートコンプリートで利用可能です(Vasily Kirichenkoによる)。
  • 名前空間の記号は、 Vasily Kirichenko によって、ドキュメントの強調表示とすべての参照の検索に表示されます。
  • 構造化ガイドライン コードは、ユージーン・オードゥチノクによって他のエディター (VSCode、VS for Mac、Rider) に向けて公開されました。
  • F# コンストラクターの折りたたみと構造化されたガイドラインを改善しました ( Eugene Auduchinok)。
  • Vasily Kirichenko によって、名前の簡略化アナライザーで Open ステートメントが簡略化されなくなりました。
  • QuickInfo の sbyte および byte IL フィールドの表示が、 Vasily Kirichenko によってサポートされるようになりました。
  • Vasily Kirichenko によって、呼び出されていない F# 関数またはメソッドで未使用の宣言コード修正がトリガーされなくなりました。
  • .NET Framework プロジェクトのフォルダー間でのドラッグ アンド ドロップが 、Paulo Nobre によってサポートされるようになりました。
  • 未使用の宣言アナライザーとコード修正を切り替えることができるようになりました。
  • ユージーン・オードゥチノクと Microsoft によるバグ修正とパフォーマンスの向上。
  • #if INTERACTIVEで囲まれたコードが、型チェックが不要な IDE 機能をサポートするようになりました。Eugene Auduchinokによります。
  • Loïc Denuzière によって、以前の F#/ASP.NET (.NET Framework) プロジェクト上の空の "新しいファイル" ウィンドウに対する修正プログラムの誤った復帰が修正されました。
F# インフラストラクチャとオープン ソースの機能強化
  • バージョン管理更新プログラム RFC が実装されました。
  • コンパイラとツールで使用されるすべてのローカライズ ファイルは GitHub で入手でき、コミュニティへの投稿を受け入れることもできます。
  • 夜間ビルドは 1 時間以内に生成できるようになりました。以前は 4 時間以上かかっていました。
  • オープン ソース共同作成者向けの Windows 10 SDK への依存関係が削除されました。
  • サテライト アセンブリと FSharp.Core.resources.dll が F# コンパイラ SDK に含まれるようになりました。
  • アセンブリ情報が変更されていない場合、コンパイラは Visual F# コードベースで自身を再構築しなくなりました。
  • ToString() は、エディター ツールのデバッグ時に、すべてのシンボルの使用結果を簡単に確認できるように、 FSharpSymbolUse 向けに実装されています。 By Eugene Auduchinok

15.6 リリースの完全なコミット変更ログを確認するには、 タグを参照してください。

Visual Studio 2017 バージョン 15.6 の既存の既知の問題と使用可能な回避策をすべて参照してください。

Visual C++ の機能強化

  • このリリースには、 CVE-2018-1037 で説明されている PDB セキュリティの問題の修正プログラムが含まれています。
  • [新しいプロジェクトの追加] ダイアログから CMake プロジェクトを作成します。
  • Visual Studio で新しい CMake プロジェクトを開くときに CMake キャッシュを自動的に生成するかどうかを選択できるようになりました。
  • CMake プロジェクトの CTest、Google Test、Boost.Test テストが 自動的に検出され、テスト エクスプローラーに一覧表示されます
  • Boost.Test 項目テンプレートを使用して、プロジェクトに Boost 単体テストを簡単に追加できます。 Boost 単体テストで Boost 動的ライブラリが使用されるようになりました。
  • C++17 の 保証されたコピーの除外のサポート。
  • Android 開発用の Android NDK r15c の組み込みサポート
  • Oreo デバイスにデプロイして実行するために SDK レベル 25 以下で構築された Android アプリ用 Visual Studio Android ツールでのサポート。
  • C++17 標準に従った stable_sort、パーティション、ベクター::emplace_back の並列実行、memory_resource< などの API を含む、C++17 標準ライブラリの実装に向けたさらなる進展。
  • インクルード パスに明示的に追加されていない場合でも、ワークスペース ルートの下に存在する C++ Open Folder のインクルード ファイルは自動的に検出されます。
  • デバッグ オプションは、 埋め込み ARM GCC サポートで使用できます。 バイナリを右クリックし、[デバッグと起動の設定] を選択し、[C/C++ デバッグ] マイクロコントローラーを選択します。
  • Profile-Guided 最適化は有効になっており、ARM64 で完全にサポートされています。
  • C++ Core Guidelines Check 拡張機能に、コードをよりクリーンで安全で保守しやすいものにするのに役立つ 規則 が追加されました。
    • 有効期間が範囲外の間接参照の使用を検出する C++ コア チェッカー拡張機能。
    • 整数オーバーフローに関する規則を適用する 5 つの新しいチェックと、C++ コア ガイドラインの追加ルール。
    • C++ Core Check に、算術オーバーフローを検出するための 一連のコード分析ルール が含まれるようになりました。
  • 単一ファイルのコード分析 (またはソリューション エクスプローラーから選択したファイル) の実行のサポート。[ビルド] メニューと [分析] メニューがクリーンアップされました。 "コード分析の実行" ではコード生成が実行されなくなり、分析の実行が高速化されます。
  • 非アクティブな構成の IntelliSense エラー は、エディターに紫色の波線として表示されます。 処理する構成の数は、[ ツール] > オプションで構成できます。
  • コンパイル時の大幅な改善:
    • コンパイラは、事前にインクリメントされたループの最適化を改善し、 LTCG 内の一定のグローバル データの識別と伝達を改善することにより、コードをより高速に実行するように最適化します。
    • コンパイル時間は 15.5 に比べて短くなります。 コンパイラ フロントエンドは、ほとんどの入力で 3 から 5% 高速です。 コア最適化アルゴリズムのオーバーヘッドが減るため、コンパイラ オプティマイザーは 3% 高速です。 さらに、大規模な LTG コンパイルは、再設計されたデータ構造により10% 高速です。
  • Mapfile 生成のオーバーヘッドは、完全リンクシナリオで削減されます。 マップファイルの代わりに PDB ファイルを使用することをお勧めします。
  • MSVC コンパイラは、x86、x64、ARM、ARM64 を含むすべてのアーキテクチャで /Qspectre スイッチ をサポートします。

C# コンパイラ

C# コンパイラでは、次の機能がサポートされるようになりました。

  • ビルド スループットパフォーマンスのための CoreCLR 上のコンパイラ サーバー。
  • CoreCLR での厳密な名前の署名 (/keyfile オプション、すべての OS)。

多数の バグ修正 と 1 つの破壊的変更 ( 破壊的変更の一覧を参照) に加えて、7.2 言語機能に 2 つの小さな言語変更が加えられました。

Visual Studio Tools for Xamarin

このリリースには、Xamarin.iOS 11.8 と Xamarin.Android 8.2 が含まれています。

iOS シミュレーターを使用したライブ XAML プレビュー

Xamarin Live Player を使用すると、開発者は Visual Studio と iOS または Android デバイスのみを使用して、アプリを継続的にデプロイ、テスト、デバッグできます。 Visual Studio 2017 バージョン 15.5 では、開発者が再コンパイルや再デプロイを必要とせずに 、Android エミュレーターでリアルタイムの XAML 変更を直接プレビュー できるようにするサポートが追加されました。 このリリースでは、この機能が Windows 用リモート iOS シミュレーターに提供されます。

Python

このリリースでは、インストールされているパッケージで IntelliSense を取得するために、完了データベースの必要性が解消されました (図 6)。 つまり、パッケージをインストールしてから最大 4 時間待つ代わりに、 numpypandasなどの一般的なパッケージの完了が数秒で完了します。

pandas パッケージの Python 補完
(図 6) pandas パッケージの Python 補完

ドキュメント文字列がクラスまたは関数で使用される場合に使用される色をカスタマイズする機能と、re ライブラリへの呼び出しの一部として検出された正規表現パターンを追加しました (図 7)。 これらは、[ ツール] > [フォント] > 色、[Python ドキュメント]、[Python 正規表現] で変更できます。

強調表示された doc-string と正規表現の例
(図 7)強調表示された doc-string と正規表現の例

最後に、Anaconda ユーザー向けに、conda の検出と統合を試しています。 有効にすると、conda 環境が Visual Studio 内に自動的に表示され、pip ではなく conda を使用してパッケージを管理します。 詳細については、 Visual Studio 15.6 の Python の新機能 に関するブログ記事を参照してください。

デバッグと診断

CPU 使用率ツール

CPU 使用率ツールでは、非同期コードの論理呼び出し履歴 ("非同期呼び出し履歴のスティッチング" とも呼ばれる) を表示できます (図 8)。

  • 論理呼び出し履歴 (つまり、"ステッチされた呼び出し履歴") を表示するには、CPU 使用率ツールの [フィルター] ドロップダウン メニューで [非同期コードのステッチ] 設定をオンにします。

  • 親関数またはタスクの代わりに実行される非同期コードは、呼び出しツリービューと呼び出し元/呼び出し先ビューに子として表示されます。

  • この変更により、非同期コードを簡単に移動し、そのパフォーマンス特性を理解できるようになります。

    この機能は、一部の非同期コード パターンの論理呼び出し履歴を生成するのに長い時間がかかる場合があります。 必要に応じて、分析をキャンセルし、設定をオフにすることができます。 この動作は、ALT-F2 パフォーマンス プロファイラーの起動ページを使用した事後分析スタイルのプロファイリング中にのみ使用できます。 デバッグ中に CPU 使用率ツールを使用すると、論理呼び出し履歴は表示されません。

呼び出し履歴のステッチが有効な論理呼び出し履歴ツリー
(図 8) 呼び出し履歴のスティッチングが有効な論理呼び出し履歴ツリー

CPU 使用率ツール ([診断ツール] ウィンドウと ALT-F2 パフォーマンス プロファイラーの F5 デバッグ中に使用可能) に、特定のコード行の CPU 使用率に基づいてソース行が強調表示されるようになりました (図 9)。

  • CPU 使用率ツールの呼び出しツリービューまたは呼び出し元/呼び出し先ビューを表示すると、選択した関数のソースが、関数の各ソース行に示された CPU 消費量で表示されます。

  • 関数の CPU パフォーマンスが懸念される場合は、関数の実行時に CPU 消費を担当する関数のソース行を具体的に決定できます。

    この機能を使用するには、生成された PDB にソース情報を含め、プロジェクト設定で制御する必要があります。 ソース情報を持たない PDB のプロジェクトには、行属性またはソース ファイルは表示されません。

ソース行が強調表示された CPU 使用率ツール
(図 9)ソース行が強調表示された CPU 使用率ツール
スレッド名のサポート

ユーザーフィードバックごとに、デバッガーはダンプ デバッグで SetThreadDescription API を 使用して設定されたスレッド名を表示できるようになりました。 この機能では、Windows 10 Fall Creators Update 以降のビルドでダンプを収集する必要があります。

スナップショット デバッガー

Azure App Service で実行されている ASP.NET アプリケーションで作業していて、Snappoint または Logpoints を試したい場合は、デバッグ ターゲットドロップダウンで [スナップショット デバッガー (Azure App Service)]を選択します (図 10)。

ASP.NET アプリケーションのスナップショット デバッガーを起動する
(図 10)ASP.NET アプリケーションのスナップショット デバッガーを起動する

.NET の生産性

15.6 Preview 2 では、逆コンパイルされたソースに移動する機能が追加されました。 有効にすると、参照されている型またはメンバーに対して [定義へ移動] または [定義をここに表示] を呼び出すと、ILSpy 逆コンパイルによって再構築されたメソッド本体とともにその定義が表示されます。 この機能を有効にするには、[ツール > オプション] > [テキスト エディター] > C# > [詳細設定] > [逆コンパイルされたソースへのナビゲーションを有効にする] に移動します (図 11)

逆コンパイルされたソースに移動する
(図 11)逆コンパイルされたソースに移動する

また、いくつかの .NET EditorConfig オプションも追加しました。

  • dotnet_prefer_inferred_tuple_names
  • dotnet_prefer_inferred_anonymous_type_member_names

すべての .NET コーディング規則オプションを確認するには、 EditorConfig の .NET コーディング規則の設定を確認してください。

Visual Studio Web ツール

  • ソリューション エクスプローラーには、ソリューション エクスプローラーでの関連ファイルの表示方法をユーザーが制御できる 、"ファイルの入れ子" と呼ばれる .NET Core プロジェクトの新機能があります。
  • プロジェクトの発行エクスペリエンスが更新されました。
  • [新しいプロジェクト] ダイアログで、次の手順を実行します。
    • .NET Framework のバージョンを選択できるドロップダウンがダイアログの下部に移動され、テンプレートのフィルターとして機能しなくなりました。
    • ノード "Web" の場合、サブノード "Web サイト" の名前が "以前のバージョン" に変更されました。
  • WebForms および MVC 5 プロジェクトのデバッグ ドロップダウン:
    • を使用すると、ユーザーは Azure App Service でデプロイされたアプリのスナップショット デバッガーを選択できます。
    • は、ASP.NET Core プロジェクトと同じブラウザー選択ジェスチャを持つよう更新されました。

Continuous Delivery Tools

ソース管理下のソリューションの場合は、チーム エクスプローラーで [継続的デリバリー] タイルをクリックして、アプリケーションの自動ビルドとデプロイを構成できます。

継続的デリバリー ツールの構成
  • ソース管理プロバイダーとしての TFVC のサポートが追加されました。 VSTS TFVC チーム プロジェクトでソース管理下のソリューションの継続的デリバリーを構成できます (図 12)。
VSTS TFVC プロジェクトのプロジェクトの継続的デリバリーを構成する
(図 12)VSTS TFVC プロジェクトのプロジェクトの継続的デリバリーを構成する
  • SSH 経由の Git 認証のサポートが追加されました。 SSH AUTH が有効になっている VSTS または GitHub Git リポジトリで、ソース管理下のソリューションの継続的デリバリーを構成できます。

  • コンテナー化されたプロジェクトのサポートが導入されました。 azure App Service on Linux (Web App for Containers) をターゲットとする ASP.NET Core プロジェクトと Docker サポートを使用して、ソリューションの継続的デリバリーを構成できます (図 13)。 [継続的デリバリーの構成] ダイアログは、既定で新しい Azure App Service on Linux (Web App for Containers) を作成し、Azure サブスクリプションにまだ存在しない場合は、Azure Container Registry も作成します。

App Service on Linux の [Azure への継続的デリバリーの構成] ダイアログ
(図 13)App Service on Linux の [Azure への継続的デリバリーの構成] ダイアログ

チーム エクスプローラ

Git タグのサポート

Git タグのサポートが追加されました。 タグを作成、削除、プッシュできるようになりました。 [タグ] ページでは、リポジトリ内のすべてのタグを表示し、タグから新しいブランチを作成できます。 これは UserVoice から最も要求された機能の 1 つでした。

Visual Studio Team Services ユーザーの場合は、プル要求ブランチを確認できます。 この機能により、pull request の確認、変更のテスト、コードのビルドが簡単になります。

ユニバーサル Windows プラットフォーム開発者向けのツール

Windows 10 Insider Preview SDK (ビルド 17095) は、ユニバーサル Windows プラットフォーム開発ワークロードを使用してオプションコンポーネントとしてインストールできます。

Extensibility

devenv.exe、blend.exe、wdexpress.exe、vsga.exe など、さまざまな Visual Studio 実行可能ファイルのファイル バージョンは、マイナー リリース (例: 15.6.*) を反映しています。

これは機能には影響しませんが、実行可能ファイルのバージョン番号に依存する外部コードを更新する必要がある場合があります。

テスト エクスプローラ

新しい階層ビュー

Visual Studio のテスト エクスプローラーに、プロジェクト、名前空間、クラスごとにテストを整理する階層ビュー (図 14) が追加されました。 このビューは、[グループ化] ボタンの横にあるテスト エクスプローラー ウィンドウの上部にある階層ボタンを使用してオンとオフを切り替えることができます。

テスト エクスプローラー階層ビュー
(図 14)テスト エクスプローラー階層ビュー

この機能により、テストの移動がはるかに簡単になるだけでなく、テストに関するフィードバックがひとめでわかります。

  • 階層内の "親ノード" (Project、Namespace、Class) には、少なくとも 1 つの失敗したテストが含まれている場合、失敗したテスト アイコンが表示されます。
  • 親ノードの後には、グループ化に含まれるテストの数をまとめた数値も続きます。 親ノードの右側に表示される時間 (ミリ秒単位) は、そのグループ内のテストの実行にかかった合計時間です。
リアルタイム テスト検出

テストは、マネージド プロジェクトのビルドを必要とせずに、リアルタイムのテスト検出で自動的に検出されます (図 15)。 これにより、テスト エクスプローラーは、テストの追加、削除、編集などのコード変更と同期できます。 上記で説明した階層ビュー機能は、すべての種類のプロジェクトで使用できる機能とは異なり、自動テスト検出機能は C# および Visual Basic プロジェクトでのみ使用できます。

Xamarin Live Player
(図 15)Xamarin Live Player のペア、デプロイ、ライブ編集モードのアニメーション
Win10 IoT Core テストのサポート

Win10 IoT Core アプリケーションのテストのサポートが導入されました。 このような UWP アプリケーションのテストを、デバイスに展開、デバッグ、実行できるようになりました。 テストは、テスト エクスプローラーにも完全に統合されています。 デプロイと実行のサポートは、VSTS CI でも利用できます。 したがって、Win10 IoT Core アプリケーションは、Visual Studio 内の編集、コンパイル、デバッグ、テスト サイクル、および Visual Studio Team Services の継続的インテグレーション ワークフローで完全にサポートされています。

Win10 IoT Core テスト
(図 16)Win10 IoT Core テスト

Visual Studio Build Tools

Visual Studio ビルド ツールを使用すると、すべての Visual Studio をインストールせずにビルド サーバーを作成できます。 インストーラーは、デスクトップ プロジェクト用の C++、ASP.NET、および .NET Core を既にサポートしています。 お客様の要求に応えて、Visual Studio ビルド ツールを拡張して、追加のプロジェクトの種類をサポートしています。 このリリースでは、TypeScript および Node.js プロジェクトのサポートが追加されました。 今後のリリースでは、より多くのプロジェクトの種類のサポートが追加される予定です。 これは、このリリースの Visual Studio ビルド ツールの ダウンロード場所 です。

Visual Studio ClickOnce ツール

ClickOnce は、最小限のユーザー操作でインストールして実行できる自己更新型の Windows ベースのアプリケーションを作成できる配置テクノロジです。 証明書を使用して、アプリケーションの発行元の信頼性を確認し、アプリケーションマニフェストと配置マニフェストに署名して、ファイルが改ざんされていないことを証明します。 このリリースでは、Cryptography Next Generation (CNG) 証明書を使用してアプリケーション マニフェストと配置マニフェストに署名するためのサポートを追加しました。

Key Vault

Visual Studio 15.6 用の Azure Services 認証拡張機能 をインボックスで追加しました。 これにより、Microsoft.Azure.Services.AppAuthentication ライブラリを使用するプロジェクトは、Visual Studio アカウントを使用して Key Vault などの Azure リソースにアクセスできるようになります。

macOS の自動プロビジョニング

Windows 上の Visual Studio を使用して iOS アプリをビルドする作業が簡単になりました。 このリリースでは、macOS の自動プロビジョニングと呼ばれるまったく新しい機能が追加されました。 Mac ビルド マシンを手動で保守する必要はなく、Mac に接続するだけで、Visual Studio から正しい Xamarin.iOS ビットと Mono ビットを使用してビルド マシンをインストールおよび構成する作業が大量に行われます。

iOS Wi-Fi 導入

開発者が Windows 上の Visual Studio で iOS アプリを完全にテストおよびデバッグできる リモート iOS シミュレーター は、無料の Community Edition を含む Visual Studio のすべてのエディション (バージョン 15.5 以降) で利用できます。 シミュレーターは、位置シミュレーション、回転、ジェスチャなどの機能をサポートし、マルチタッチなど、Mac 上の iOS シミュレーターでは行わない機能も含まれています。 これにより、開発者が Windows で iOS アプリをビルドするための優れたシミュレーター エクスペリエンスが提供されますが、デバイスはどうでしょうか。 Visual Studio 2017 バージョン 15.6 では、Wi-Fi 展開を使用してネットワーク経由で iOS アプリを展開できます。ケーブルは不要です。 Xcode でワイヤレス デバイスを設定すると、通常のデプロイ ターゲットと同じように Visual Studio に表示されます。


リリース ノート アイコン Visual Studio 2017 バージョン 15.6.1 サービス更新プログラム

リリース日: 2018 年 3 月 8 日

15.6.1 で修正された上位の問題

このリリースで対処された、お客様から報告された問題を次に示します。


リリース ノート アイコン Visual Studio 2017 バージョン 15.6.2 サービス更新プログラム

リリース日: 2018 年 3 月 13 日

15.6.2 の更新プログラムの概要

CVE-2018-0875: .NET Core の Microsoft セキュリティ アドバイザリ

Microsoft は、.NET Core のパブリック バージョンに存在するセキュリティ上の脆弱性を認識しています。このバージョンでは、悪意のあるファイルや Web 要求によってサービス拒否 (DoS) 攻撃が引き起こされる可能性があります。

Important

システム管理者は、.NET Core ランタイムをバージョン 1.0.10、1.1.7、2.0.6 に更新することをお勧めします。 開発者は、.NET Core SDK をバージョン 1.1.8 または 2.1.101 に更新することをお勧めします。

15.6.2 で修正された上位の問題

このリリースで対処された、お客様から報告された問題を次に示します。


リリース ノート アイコン Visual Studio 2017 バージョン 15.6.3 サービス更新プログラム

リリース日: 2018 年 3 月 19 日

15.6.3 の更新プログラムの概要

CVE-2018-0875: .NET Core の Microsoft セキュリティ アドバイザリ

Microsoft は、.NET Core のパブリック バージョンに存在するセキュリティ上の脆弱性を認識しています。このバージョンでは、悪意のあるファイルや Web 要求によってサービス拒否 (DoS) 攻撃が引き起こされる可能性があります。

Important

システム管理者は、.NET Core ランタイムをバージョン 1.0.10、1.1.7、2.0.6 に更新することをお勧めします。 開発者は、.NET Core SDK をバージョン 1.1.8 または 2.1.101 に更新することをお勧めします。

15.6.3 で修正された上位の問題

このリリースで対処された、お客様から報告された問題を次に示します。


リリース ノート アイコン Visual Studio 2017 バージョン 15.6.4 サービス更新プログラム

リリース日: 2018 年 3 月 22 日

15.6.4 で修正された上位の問題

このリリースで対処された、お客様から報告された問題を次に示します。


リリース ノート アイコン Visual Studio 2017 バージョン 15.6.5 サービス更新プログラム

リリース日: 2018 年 4 月 4 日

15.6.5 で修正された上位の問題

このリリースで対処された、お客様から報告された問題を次に示します。


リリース ノート アイコン Visual Studio 2017 バージョン 15.6.6 サービス更新プログラム

リリース日: 2018 年 4 月 10 日

15.6.6 の更新プログラムの概要

CVE-2018-1037: Microsoft Visual Studio の情報漏えいの脆弱性に関する Microsoft セキュリティ アドバイザリ

Visual Studio でプログラム データベース (PDB) ファイルをコンパイル中に制限されていないメモリの内容が不適切に開示される場合に、情報漏えいの脆弱性が存在します。 この情報開示を利用した攻撃者は、PDB ファイルのコンパイルに使用された Visual Studio インスタンスから、初期化されていないメモリを閲覧することができます。

攻撃者がこの脆弱性を利用するには、脆弱なバージョンの Visual Studio を使用して作成された、影響を受ける PDB ファイルにアクセスする必要があります。 攻撃者は開発者に対して、この情報漏えいを強制的に実行させることはできません。

このセキュリティ更新プログラムは、プロジェクトのコンパイル時に PDB ファイルが生成される方法を修正することにより、この脆弱性を解決します。

Important

詳細については、 CVE-2018-1037 のセキュリティ更新プログラムを参照してください。

15.6.6 で修正された上位の問題

このリリースで対処された、お客様から報告された問題を次に示します。

  • このリリースでは、ソリューションが最初に読み込まれるときに、一部の Application Insights ユーザーに CodeLens 要求と例外インジケーターが表示されない問題に対処しています。

リリース ノート アイコン Visual Studio 2017 バージョン 15.6.7 サービス更新プログラム

リリース日: 2018 年 4 月 26 日

15.6.7 の更新プログラムの概要

  • VS は、Git 操作を実行する際の応答性が向上します。
  • /debug:fastlink PDB を使用して大規模なソリューションをデバッグする方が堅牢です。 PDB/DIA の変更により、待機時間が短縮され、クラッシュの原因になった VS デバッガーのヒープ メモリ消費量が 30% 減少します。

15.6.7 で修正された上位の問題

このリリースで対処された、お客様から報告された問題を次に示します。

  • C++ コンパイラのバグ修正:
    • SSA オプティマイザーが、ストアを過ぎた関数呼び出しを、 __finally ハンドラーで使用される変数に誤ってシンクする問題を修正しました。
    • SSA オプティマイザーで、負のオフセットを持つ場所からのメモリ負荷が誤って分析される場合がある問題を修正しました。
    • オプティマイザーが事前インクリメントされたループをポストインクリメント ループに誤って変換する問題を修正しました。 これは 、ICU プロジェクトのコンパイル中に見つかりました。
  • Java™ Development Kit 8 Update 172 (JDK バージョン 8u172) にアップグレードしました。

既知の問題

ご意見とご感想はすべて参考にさせていただいております。 開発者コミュニティ サイトにアクセスして、最新の問題を検索したり、新しい問題を投稿したり、既存の問題を更新したりします。 Visual Studio 2017 バージョン 15.6 の既存の既知の問題と使用可能な回避策をすべて参照してください。

Visual Studio 2017 の既知の問題


Visual Studio 2017 リリース ノート履歴

過去のバージョンの Visual Studio 2017 に関連する詳細については、「Visual Studio 2017 リリース ノート履歴」のページを参照してください。