注
サポートされているバージョンの Visual Studio 2017 はバージョン 15.9 です。
Important
これは Visual Studio の最新バージョンではありません。 最新のリリースをダウンロードするには、 https://visualstudio.microsoft.com/downloads/ にアクセスし、 Visual Studio 2022 リリース ノートを参照してください。
Visual Studio 2017 バージョン 15.6 リリース
- 2018 年 4 月 26 日 -- Visual Studio 2017 バージョン 15.6.7 サービス更新プログラム
- 2018 年 4 月 10 日 -- Visual Studio 2017 バージョン 15.6.6 サービス更新プログラム
- 2018 年 4 月 4 日 -- Visual Studio 2017 バージョン 15.6.5 サービス更新プログラム
- 2018 年 3 月 22 日 -- Visual Studio 2017 バージョン 15.6.4 サービス更新プログラム
- 2018 年 3 月 19 日 -- Visual Studio 2017 バージョン 15.6.3 サービス更新プログラム
- 2018 年 3 月 13 日 -- Visual Studio 2017 バージョン 15.6.2 サービス更新プログラム
- 2018 年 3 月 8 日 -- Visual Studio 2017 バージョン 15.6.1 サービス更新プログラム
- 2018 年 3 月 5 日 -- Visual Studio 2017 バージョン 15.6.0 マイナー更新プログラム
15.6 の注目すべき新機能の概要
- CVE-2018-1037 で説明されている PDB セキュリティの問題を修正しました。
- 設計時のビルドを最適化することで 、ソリューションの読み込みパフォーマンス が向上しました。
- Visual Studio インストーラーにインストールの進行状況の詳細を追加しました。
- インストールを一時停止し、後で再開することができます。
- 更新プロセスが合理化され、 通知 によってインストーラーに直接移動されます。
- 管理者以外は VS レイアウトを作成できます。
- キーボード マッピングに Edit.Duplicate の新しいショートカットが追加されました。
- F# 言語とツール (特に .NET Core SDK プロジェクト用) が大幅に改善されました。
- C++ コンパイラの追加の最適化により、コードをより高速に実行できます。
- C++ Mapfile 生成のオーバーヘッドは、完全なリンクのシナリオで削減されます。
- デバッグ オプションは、 埋め込み ARM GCC サポートで使用できます。
- C# コンパイラの CoreCLR に厳密な名前の署名を追加しました。
- Visual Studio Tools for Xamarin には、iOS および Android 開発者向けの新しい生産性更新プログラムが多数用意されています。
- Python では、完了 DB は不要になり、Anaconda ユーザーは conda をサポートしています。
- パフォーマンス プロファイラーの CPU 使用率ツール では、非同期コードの論理呼び出し履歴を表示できます。
- CPU 使用率ツールには、ソース行の強調表示と非同期/待機コードが論理的な "呼び出し履歴のステッチ" と共に表示されます。
- デバッガーは、ダンプ デバッグで SetThreadDescription API を使用して設定されたスレッド名をサポートします。
- スナップショット デバッグ は、ASP.NET アプリケーションの [デバッグ ターゲット] ドロップダウンから開始できます。
- .NET コード ナビゲーション用の 逆コンパイルされたソースへの移動 の初期実装を開始しました。
- チーム エクスプローラーで [ 継続的デリバリー ] タイルをクリックして、アプリケーションの自動ビルドとデプロイを構成できるようになりました。
- 継続的デリバリーの構成に関する新しい機能強化には、TFVC、SSH 経由の Git 認証、コンテナー化されたプロジェクトのサポートが含まれます。
- チーム エクスプローラーでは 、Git タグと pull request ブランチのチェックアウトがサポートされています。
- 6.1 Service Fabric リリース用の Service Fabric ツールを使用できるようになりました。
- Windows 10 Insider Preview SDK は、オプションのコンポーネントとしてインストールできます。
- 多数の Visual Studio 実行可能ファイル のファイル バージョンに、マイナー リリースが反映されるようになりました。
- テスト エクスプローラー には階層ビューがあり、 リアルタイムテスト検出 は既定でオンになっています。
- Win10 IoT Core アプリケーションのテストのサポートが追加されました。
- Visual Studio ビルド ツールでは 、TypeScript と Node.jsがサポートされます。
- ClickOnce ツールでは 、CNG 証明書を使用したアプリケーション マニフェストと配置マニフェストへの署名がサポートされます。
- Key Vault などの Azure リソースには、Visual Studio アカウントを使用してアクセスできます。
15.6 で修正された上位の問題
15.6 で対処された、お客様から報告された問題を次に示します。
- ウィンドウのサイズ変更は信頼できません。
- 特殊文字を含む .NET Core プロジェクトは、NuGet パッケージまたはビルドを復元できません。
- テスト エクスプローラーの既定のアーキテクチャは記憶されません。
- Visual Studio を終了すると、ソリューション エクスプローラーのピン留め状態が解除される。
- 通常の UI はデバッグ セッション中にフリーズします。
- プロジェクトを再度開くと、ファイル名は小文字に戻ります。
- マウス カーソルがポインター (手) アイコンに貼り付きます。
- スケジュールされたタスクで VSIXAutoUpdate がクラッシュします。
- 起動時に、"ツール ウィンドウ 'エラー一覧' が Visual Studio の速度を低下していることに気付きました" というアラートが生成されます。
- クイック起動は、全画面表示に切り替えた後、結果を表示しなくなりました。
- XAML アクティビティ デザイナーは、アセンブリ参照の解決に失敗した結果として、OutOfMemoryException をスローします。
- Selenium WebDriver を使用している場合、デバッグされた単体テストを停止またはキャンセルできません。
- /quiet スイッチを使用する場合、vsixinstaller.exe はインストールの終了時に終了しません。
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)。
インストールとセットアップ
- このリリースでは、管理者権限を持たないユーザーは、管理者以外がオフライン ネットワーク インストールを作成できる Visual Studio レイアウトを作成できます。
- Visual Studio を初めてインストールするか、Web から更新すると、Visual Studio インストーラーの新しい、より透過的なセットアップ エクスペリエンスが表示されます。 内部的には何も変わっていないのですが、新しいエクスペリエンスでは、何が起こっているかを段階的に示しています (図 2)。
インストールの詳細
新しいインストールの詳細 (図 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 + E、 V) は引き続き機能し、すべてのキーボード マッピング スキームで使用できます。
- 選択範囲を次の論理ブロックに連続して展開できる [選択範囲の展開] コマンドを追加しました。 ショートカット Shift + Alt + = を使用して展開し、 Shift + Alt + - キーを押して現在の選択範囲を縮小できます。
F# 言語とツールの機能強化
このリリースでは、F# とそのツールに多くの機能強化が行われました。 最も重要なのは、.NET Core SDK プロジェクトに関連しています。 これまでと同様に、コミュニティからの多大な貢献もここに集まったのです。
F# コンパイラとコア ライブラリの機能強化
- ncave、Vasily Kirichenko、Microsoft によるバグ修正とパフォーマンスの改善。
- F# コレクションでは、
IReadonlyListによるIReadonlyDictionaryとが実装されるようになりました。 -
NativePtr.ByRefmjmckp によるサポートが追加されました。 -
Async.StartImmediateAsTaskサポートが追加されました, Onur Gumusによって. -
Seq.transpose、Array.transpose、List.transposeのサポートがPatrick McDonaldにより追加されました。 -
System.Tupleこれらのタプル型は現在、F# タプル構文と同義% 100 であるため、これらのプロパティを使用するときに警告が導入されました。 詳細については、リンクされた pull request を参照してください。 - Gustavo Leon と Microsoft によって、静的に解決された型パラメーターの推論順序の回帰と別のバグ修正が修正されました。
- FSharp.Core for .NET Standard の F# 型の
IsSerializableプロパティが有効になっています。OptionやAsyncなどの 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 Kirichenko、Eugene Auduchinok、Daniel Wedelich、Microsoft によるパフォーマンスの向上。
- Vasily Kirichenko と Microsoft による、多数のバグ修正によるより正確なオートコンプリート。
- 未オープンの名前空間内の静的メンバーはオートコンプリートで利用可能です(Vasily Kirichenkoによる)。
- 名前空間の記号は、 Vasily Kirichenko によって、ドキュメントの強調表示とすべての参照の検索に表示されます。
- 構造化ガイドライン コードは、ユージーン・オードゥチノクによって他のエディター (VSCode、VS for Mac、Rider) に向けて公開されました。
- F# コンストラクターの折りたたみと構造化されたガイドラインを改善しました ( Eugene Auduchinok)。
- Vasily Kirichenko によって、名前の簡略化アナライザーで Open ステートメントが簡略化されなくなりました。
- QuickInfo の
sbyteおよびbyteIL フィールドの表示が、 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 エラー は、エディターに紫色の波線として表示されます。 処理する構成の数は、[ ツール] > オプションで構成できます。
- コンパイル時の大幅な改善:
- Mapfile 生成のオーバーヘッドは、完全リンクシナリオで削減されます。 マップファイルの代わりに PDB ファイルを使用することをお勧めします。
- MSVC コンパイラは、x86、x64、ARM、ARM64 を含むすべてのアーキテクチャで /Qspectre スイッチ をサポートします。
C# コンパイラ
C# コンパイラでは、次の機能がサポートされるようになりました。
- ビルド スループットパフォーマンスのための CoreCLR 上のコンパイラ サーバー。
- CoreCLR での厳密な名前の署名 (
/keyfileオプション、すべての OS)。
多数の バグ修正 と 1 つの破壊的変更 ( 破壊的変更の一覧を参照) に加えて、7.2 言語機能に 2 つの小さな言語変更が加えられました。
-
inオーバーロードのタイブレーカー (詳細はGitHubでこちらをご覧ください)。 - ref 拡張メソッドでの
refとthisの順序を緩和します (詳細については、GitHub のこのトピックを参照してください)。
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 時間待つ代わりに、 numpy や pandasなどの一般的なパッケージの完了が数秒で完了します。
ドキュメント文字列がクラスまたは関数で使用される場合に使用される色をカスタマイズする機能と、re ライブラリへの呼び出しの一部として検出された正規表現パターンを追加しました (図 7)。 これらは、[ ツール] > [フォント] > 色、[Python ドキュメント]、[Python 正規表現] で変更できます。
最後に、Anaconda ユーザー向けに、conda の検出と統合を試しています。 有効にすると、conda 環境が Visual Studio 内に自動的に表示され、pip ではなく conda を使用してパッケージを管理します。 詳細については、 Visual Studio 15.6 の Python の新機能 に関するブログ記事を参照してください。
デバッグと診断
CPU 使用率ツール
CPU 使用率ツールでは、非同期コードの論理呼び出し履歴 ("非同期呼び出し履歴のスティッチング" とも呼ばれる) を表示できます (図 8)。
論理呼び出し履歴 (つまり、"ステッチされた呼び出し履歴") を表示するには、CPU 使用率ツールの [フィルター] ドロップダウン メニューで [非同期コードのステッチ] 設定をオンにします。
親関数またはタスクの代わりに実行される非同期コードは、呼び出しツリービューと呼び出し元/呼び出し先ビューに子として表示されます。
この変更により、非同期コードを簡単に移動し、そのパフォーマンス特性を理解できるようになります。
注
この機能は、一部の非同期コード パターンの論理呼び出し履歴を生成するのに長い時間がかかる場合があります。 必要に応じて、分析をキャンセルし、設定をオフにすることができます。 この動作は、ALT-F2 パフォーマンス プロファイラーの起動ページを使用した事後分析スタイルのプロファイリング中にのみ使用できます。 デバッグ中に CPU 使用率ツールを使用すると、論理呼び出し履歴は表示されません。
CPU 使用率ツール ([診断ツール] ウィンドウと ALT-F2 パフォーマンス プロファイラーの F5 デバッグ中に使用可能) に、特定のコード行の CPU 使用率に基づいてソース行が強調表示されるようになりました (図 9)。
CPU 使用率ツールの呼び出しツリービューまたは呼び出し元/呼び出し先ビューを表示すると、選択した関数のソースが、関数の各ソース行に示された CPU 消費量で表示されます。
関数の CPU パフォーマンスが懸念される場合は、関数の実行時に CPU 消費を担当する関数のソース行を具体的に決定できます。
注
この機能を使用するには、生成された PDB にソース情報を含め、プロジェクト設定で制御する必要があります。 ソース情報を持たない PDB のプロジェクトには、行属性またはソース ファイルは表示されません。
スレッド名のサポート
ユーザーフィードバックごとに、デバッガーはダンプ デバッグで SetThreadDescription API を 使用して設定されたスレッド名を表示できるようになりました。 この機能では、Windows 10 Fall Creators Update 以降のビルドでダンプを収集する必要があります。
スナップショット デバッガー
Azure App Service で実行されている ASP.NET アプリケーションで作業していて、Snappoint または Logpoints を試したい場合は、デバッグ ターゲットドロップダウンで [スナップショット デバッガー (Azure App Service)]を選択します (図 10)。
.NET の生産性
15.6 Preview 2 では、逆コンパイルされたソースに移動する機能が追加されました。 有効にすると、参照されている型またはメンバーに対して [定義へ移動] または [定義をここに表示] を呼び出すと、ILSpy 逆コンパイルによって再構築されたメソッド本体とともにその定義が表示されます。 この機能を有効にするには、[ツール > オプション] > [テキスト エディター] > C# > [詳細設定] > [逆コンパイルされたソースへのナビゲーションを有効にする] に移動します (図 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)。
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 も作成します。
チーム エクスプローラ
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) が追加されました。 このビューは、[グループ化] ボタンの横にあるテスト エクスプローラー ウィンドウの上部にある階層ボタンを使用してオンとオフを切り替えることができます。
この機能により、テストの移動がはるかに簡単になるだけでなく、テストに関するフィードバックがひとめでわかります。
- 階層内の "親ノード" (Project、Namespace、Class) には、少なくとも 1 つの失敗したテストが含まれている場合、失敗したテスト アイコンが表示されます。
- 親ノードの後には、グループ化に含まれるテストの数をまとめた数値も続きます。 親ノードの右側に表示される時間 (ミリ秒単位) は、そのグループ内のテストの実行にかかった合計時間です。
リアルタイム テスト検出
テストは、マネージド プロジェクトのビルドを必要とせずに、リアルタイムのテスト検出で自動的に検出されます (図 15)。 これにより、テスト エクスプローラーは、テストの追加、削除、編集などのコード変更と同期できます。 上記で説明した階層ビュー機能は、すべての種類のプロジェクトで使用できる機能とは異なり、自動テスト検出機能は C# および Visual Basic プロジェクトでのみ使用できます。
Win10 IoT Core テストのサポート
Win10 IoT Core アプリケーションのテストのサポートが導入されました。 このような UWP アプリケーションのテストを、デバイスに展開、デバッグ、実行できるようになりました。 テストは、テスト エクスプローラーにも完全に統合されています。 デプロイと実行のサポートは、VSTS CI でも利用できます。 したがって、Win10 IoT Core アプリケーションは、Visual Studio 内の編集、コンパイル、デバッグ、テスト サイクル、および Visual Studio Team Services の継続的インテグレーション ワークフローで完全にサポートされています。
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 で修正された上位の問題
このリリースで対処された、お客様から報告された問題を次に示します。
-
"指定された引数が有効な範囲外です。パラメーター名: count"
gitタグ。 - Git コミットの詳細を開くことができません。
- SyncFusion WPF テンプレートがインストールされると、VS2017 インストーラーが [変更 ] でクラッシュします。
- テスト エクスプローラーは、テストの実行時に位置を失います。
- テスト エクスプローラーのテスト階層は常にトップにジャンプします。
- XAML ファイルに変更が加えられた場合、XAML エディターは常にクラッシュします。
- テスト エクスプローラーは、新しいテストの開始時に一番上までスクロールし続けます。
- Git 履歴の表示: 指定された引数が値の範囲外でした。
- Alt + Up/Down では、.NET Framework プロジェクト内のファイルの位置は変更されません。
- 'None Include' がファイル一覧に追加されると、.NET Core SDK プロジェクトのソリューション読み込み時に VS 15.6 のデッドロックが発生します。
- 15.6 Preview 6 はテスト アダプターを検出しますが、テストの実行に失敗します。
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 で修正された上位の問題
このリリースで対処された、お客様から報告された問題を次に示します。
-
"指定された引数が有効な範囲外です。パラメーター名: count"
gitタグ。 - Git コミットの詳細を開くことができません。
- SyncFusion WPF テンプレートがインストールされると、VS2017 インストーラーが [変更 ] でクラッシュします。
- テスト エクスプローラーは、テストの実行時に位置を失います。
- テスト エクスプローラーのテスト階層は常にトップにジャンプします。
- XAML ファイルに変更が加えられた場合、XAML エディターは常にクラッシュします。
- テスト エクスプローラーは、新しいテストの開始時に一番上までスクロールし続けます。
- Git 履歴の表示: 指定された引数が値の範囲外でした。
- Alt + Up/Down では、.NET Framework プロジェクト内のファイルの位置は変更されません。
- 'None Include' がファイル一覧に追加されると、.NET Core SDK プロジェクトのソリューション読み込み時に VS 15.6 のデッドロックが発生します。
- 15.6 Preview 6 はテスト アダプターを検出しますが、テストの実行に失敗します。
- テスト エクスプローラーは、新しいテストの開始時に一番上までスクロールし続けます。
- .NET Core 更新プログラムの Microsoft セキュリティ アドバイザリ。
Visual Studio 2017 バージョン 15.6.4 サービス更新プログラム
リリース日: 2018 年 3 月 22 日
15.6.4 で修正された上位の問題
このリリースで対処された、お客様から報告された問題を次に示します。
- Assets File 'c:\xxxxxx\obj\project.assets.json' には '.NETStandard,Version=v2.0' のターゲットがありません。
- 別のユーザーから実行されている別の VS インスタンスがある場合、VS2017 は最初の起動時に設定を保持できません。
- Android LLVM libc++ スタティック ライブラリ STL が VS15.6.0 で破損しました。
- 単体テストがアルファベット順に並べ替えなくなりました。
- クラス別にグループ化されたテスト エクスプローラー のテストでは、名前空間が 15.6.2 でアルファベット順に並べ替えなくなりました。
Visual Studio 2017 バージョン 15.6.5 サービス更新プログラム
リリース日: 2018 年 4 月 4 日
15.6.5 で修正された上位の問題
このリリースで対処された、お客様から報告された問題を次に示します。
- VS 15.6 では、"すべてのユーザーにサーバー設定を適用する (プロジェクト ファイルに格納する) " とは見なされません。
- Visual C# 2017 コンパイラが作成されていないため、プロジェクトを開くことができませんでした。
- NuGet パッケージ マネージャーでは、キャッシュを手動でクリアした後にのみ、最新のパッケージ バージョンが表示されます。
- IIS サーバーの設定が失われました。
- Nuget パッケージの更新中に Visual Studio がハングします。
- インストーラーが予期しないエラーをスローし、Solution2.slnへの保存された変更は保存されません。
-
C:\Windows\temp15.5.6 にアップグレードした後、.itrace ファイルがいっぱいになります。 -
vstest.console.exeは、ソケット例外でテスト実行に失敗します。 - このリリースには、Xcode 9.3 のサポートが含まれています。
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 プロジェクトのコンパイル中に見つかりました。
- SSA オプティマイザーが、ストアを過ぎた関数呼び出しを、
- Java™ Development Kit 8 Update 172 (JDK バージョン 8u172) にアップグレードしました。
既知の問題
ご意見とご感想はすべて参考にさせていただいております。
開発者コミュニティ サイトにアクセスして、最新の問題を検索したり、新しい問題を投稿したり、既存の問題を更新したりします。
Visual Studio 2017 バージョン 15.6 の既存の既知の問題と使用可能な回避策をすべて参照してください。
Visual Studio 2017 リリース ノート履歴
過去のバージョンの Visual Studio 2017 に関連する詳細については、「Visual Studio 2017 リリース ノート履歴」のページを参照してください。