Visual Studio 2017 バージョン 15.6 リリース ノート
開発者コミュニティ | システム要件 | 互換性 | 再頒布可能コード | ライセンス条項 | ブログ | 既知の問題
Note
これは Visual Studio の最新バージョンではありません。 最新のリリースをダウンロードするには、Visual Studio のサイトにアクセスしてください。
サポート期間
このバージョンはサポート対象外になりました。 Visual Studio のサポートの詳細については、Visual Studio 2017 のサポート ポリシーに関するページを参照してください。
最新バージョンのリリース ノートを参照するか、Visual Studio サイトにアクセスして、サポートされている最新バージョンの Visual Studio 2017 をダウンロードしてください。
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++ マップファイル生成のオーバーヘッドが軽減されています。
- 埋め込み ARM GCC サポートによりデバッグ オプションを使用することができます。
- C# コンパイラ用の CoreCLR に対する厳密な名前の署名を追加しました。
- Visual Studio Tools for Xamarin には iOS および Android 開発者向けの生産性を高める新しい更新プログラムが多数あります。
- Python では補完 DB が必要なくなりました。Anaconda ユーザーには conda がサポートされています。
- パフォーマンス プロファイラーの CPU 使用率ツールでは非同期コードの論理呼び出し履歴を表示できます。
- CPU 使用率ツールでは、論理 "呼び出し履歴の作成" で、ソース行を強調表示すると共に非同期/待機コードを表示します。
- デバッガーは、ダンプ デバッグ時に SetThreadDescription API によって設定されたスレッド名をサポートします。
- ASP.NET アプリケーションの [デバッグ ターゲット] ドロップダウンからスナップショットのデバッグを開始することができます。
- .NET コード ナビゲーションのために [Navigate to decompiled sources]\(逆コンパイルされたソースへの移動\) の初期実装を開始しました。
- チーム エクスプローラーの [継続的デリバリー] タイルをクリックすることで、アプリケーションの自動的なビルドおよび展開を構成できるようになりました。
- [継続的デリバリーを構成する] の新しい拡張機能には、TFVC、SSH による Git 認証、コンテナ化されたプロジェクトなどがあります。
- チーム エクスプローラーでは Git タグをサポートし、pull request ブランチのチェックアウトもサポートしています。
- 6.1 Service Fabric リリース用の Service Fabric Tooling が使用可能になりました。
- Windows 10 Insider Preview SDK はオプション コンポーネントとしてインストールすることができます。
- 複数の Visual Studio 実行可能ファイルのファイル バージョンがマイナー リリースを反映するようになりました。
- テスト エクスプローラーには階層ビューがあります。リアルタイムでのテスト検出が既定でオンに設定されるようになりました。
- Win10 IoT Core アプリケーションのテストに対するサポートを追加しました。
- Visual Studio Build Tools では、TypeScript と Node.js をサポートしています。
- ClickOnce ツールでは、アプリケーション マニフェストおよび配置マニフェストへの CNG 証明書による署名をサポートします。
- Visual Studio アカウントを使用して Key Vault などの Azure リソースにアクセスすることができます。
15.6 で修正された主な問題
以下は、15.6 で対処された、ユーザーから報告された問題です。
- ウィンドウのサイズ変更が正確に行われない。
- 特殊文字を含む .NET Core プロジェクトで NuGet パッケージの復元またはビルドが行えない。
- テスト エクスプローラーの既定のアーキテクチャが記憶されない。
- Visual Studio を終了すると、ソリューション エクスプローラーのピン留め状態が解除される。
- デバッグ セッション中に正規の UI がフリーズする。
- プロジェクトを再度開くとファイル名が小文字に戻る。
- マウス カーソルがポインター (手の形の) アイコンのまま動かない。
- スケジュールされたタスクで VSIXAutoUp の日付がクラッシュする。
- "ツール ウィンドウのエラー一覧が 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 の新機能
パフォーマンス
15.6 では、引き続きソリューション読み込みのパフォーマンスを向上することに取り組みました (特にデザイン時のビルドの結果がキャッシュされるシナリオの場合)。 大規模な C# ソリューションおよび Visual Basic ソリューションは、コンピューター上で既に開かれている場合、従来の 2 倍の速さで読み込まれます。
.NET Core ソリューションの読み込み
.NET Core に重点を置きました。ラボの測定値によると、お客様はソリューションの読み込み時間について平均 20% の短縮を期待できます。
UI 応答性の通知
拡張機能がパフォーマンスおよび信頼性に及ぼす影響について透過性を高めるために、Visual Studio ではリアルタイム分析を実行して、拡張機能が無応答を引き起こしている可能性が高いかどうかを判断します。 拡張機能がハングを引き起こしていると判定された場合、Visual Studio は通知を表示します。これを受けてユーザーは疑いのある拡張機能を無効にしたり、その拡張機能に関して今後の通知を抑制したりすることができます (図 1)。
インストールとセットアップ
- このリリースでは、管理権限がなくても Visual Studio レイアウトを作成できます。これにより、管理者以外のユーザーもオフラインのネットワーク インストールを作成できるようになります。
- Visual Studio を初めてインストールする場合、または Visual Studio を Web から更新する場合、Visual Studio インストーラーでは透過性の高い新しいセットアップ エクスペリエンスが表示されます。 内部的な処理は何も変更されていませんが、新しいエクスペリエンスにより、実行されている内容が順次表示されます (図 2)。
インストールの詳細
新しいインストールの詳細 (図 5) では、ダウンロードのサイズ、ダウンロードの完了率、ダウンロードの速度を確認できます。 また、インストールするパッケージの総数およびまだインストールが終了していないパッケージも確認できます。
Note
インストールを一時停止し、時間をおいて再開した場合、まだダウンロードおよびインストールされずに残っているパッケージに進捗状況が適用され、前のカウントからの開始とはなりません。
IDE のセットアップ
拡張機能および更新プログラムからではなく、Visual Studio の更新通知からインストーラーに直接移動するようにしたことにより、更新プロセスを効率化しました。
"ASP.NET と Web 開発"、".NET Core クロスプラットフォームの開発" の各ワークロードは、"Web 開発用クラウド ツール" を含むように更新されました。 このコンポーネントには、Visual Studio 内から Azure Functions を使用するのに必要なすべての要素が含まれています。
Note
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
を実装するようになりました: Saul Rennison。 NativePtr.ByRef
のサポートの追加: mjmckp。Async.StartImmediateAsTask
のサポートの追加: Onur Gumus。- Patrick McDonald によって追加された
Seq.transpose
、Array.transpose
、List.transpose
のサポート。 .Item1
/.Item2
/etc. のサポートを終了した F# コードで定義されているSystem.Tuple
型の回帰が修正されました。 これらのタプル型は F# のタプル構文と 100% 同義になったため、これらのプロパティを使用する場合に出す警告を導入しました。 詳細については、リンクされた pull request を参照してください。- 静的に解決される型パラメーターの推論順序での回帰と別のバグに関する修正プログラムが修正されました: Gustavo leon および Microsoft。
- .NET Standard 用の FSharp.Core で、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。
- パフォーマンスの向上: Vasily Kirichenko、Eugene Auduchinok、Daniel Wedelich、Microsoft。
- 多数のバグ修正によるオートコンプリートの精度向上: Vasily Kirichenko および Microsoft。
- 開かれていない名前空間の静的メンバーが入力候補で使用可能: Vasily Kirichenko。
- 名前空間のシンボルが [Document Highlight]\(ドキュメントの強調表示\) および [すべての参照の検索] に表示されます: Vasily Kirichenko。
- Structured Guidelines が他のエディター (VSCode、VS for Mac、Rider) でも利用できるようになりました: Eugene Auduchinok。
- F# コンストラクターでの折りたたみと構造化ガイドラインの改良: Eugene Auduchinok。
- 開いているステートメントが名前の簡略化アナライザーで簡略化されなくなりました: Vasily Kirichenko。
- QuickInfo で
sbyte
およびbyte
IL フィールドが表示されるようになりました: Vasily Kirichenko。 - 呼び出されていない F# 関数またはメソッドで未使用の宣言コード修正プログラムがトリガーされなくなりました: Vasily Kirichenko。
- .NET Framework プロジェクトのフォルダー間でドラッグ アンド ドロップ操作ができるようになりました: Paulo Nobre。
- 未使用の宣言アナライザーとコード修正プログラムを切り替えることができるようになりました。
- バグの修正とパフォーマンスの向上: Eugene Auduchinok および Microsoft。
- Eugene Auduchinok による
#if INTERACTIVE
定義で囲まれたコードで、入力確認を必要としない IDE 機能がサポートされるようになりました。 - 古い F#/ASP.NET (.NET Framework) プロジェクトでの空の [新しいファイル] ウィンドウを対象にした適切でない修正プログラムが修正されました: Loïc Denuzière。
F# インフラストラクチャとオープン ソースの機能強化
- 更新プログラム RFC のバージョン管理が実装されました。
- コンパイラおよびツールで使用されるローカライズ ファイルはすべて GitHub にあります。コミュニティからの投稿を受け入れることができます。
- 夜間ビルドは 1 時間後に生成することができます (4 時間以上からの短縮)。
- オープン ソース共同作成者のための Windows 10 SDK に対する依存関係を削除しました。
- サテライト アセンブリと
FSharp.Core.resources.dll
が F# コンパイラ SDK に含められました。 - アセンブリ情報が変更されていない場合に、Visual F# コードベースでコンパイラ自体のリビルドは行われなくなりました。
- エディター ツールをデバッグする際にすべてのシンボル使用結果を容易に確認できるように、
FSharpSymbolUse
に対してToString()
が実装されました: Eugene Auduchinok。
15.6 リリースの完全なコミット変更履歴を確認するには、タグに関するページを参照してください。
Note
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 の組み込みサポート。
- Visual Studio Android ツールにおける、SDK レベル 25 以前でビルドされた Android アプリの Oreo デバイスでの展開と実行のサポート。
- C++ 17 標準ライブラリの実装に向けてさらなる進展がありました。これには、stable_sort、partition、並行して実行される inline vector::emplace_back、<memory_resource> などの API (C++17 標準に準拠) が含まれます。
- C++ Open Folder で不足しているインクルード ファイルは、それらのファイルがワークスペース ルートの下に存在していれば、インクルード パスに明示的に追加されていなくても、自動的に検出されます。
- Embedded ARM GCC サポートでデバッグ オプションを使用することができます。 バイナリを右クリックし、[デバッグ設定と起動設定] を選択し、C/C++ デバッグ マイクロコントローラーを選択します。
- ガイド付き最適化のプロファイルが有効になり、ARM64 で完全にサポートされます。
- C++ Core Guidelines Check 拡張機能への、よりきれいで、安全で、保守しやすいコードを作成するのに役立つさらなる規則の追加。
- 有効期限を経過した間接参照の使用を検出する C++ Core Checker 拡張機能。
- 整数オーバーフローに関するルールと、C++ Core Guidelines からの追加のルールを適用する 5 つの新しいチェック項目。
- C++ Core Check に、算術オーバーフローを検出するためのコード分析規則のセットが含まれるようになりました。
- 単一ファイルのコード分析の実行 (または、ソリューション エクスプローラーでのファイルの選択) をサポート。[ビルド] メニューと [分析] メニューのクリーンアップ。 "コード分析の実行" はコードの生成を行わなくなりました。これにより分析の実行速度が速くなります。
- エディターでは非アクティブな構成に対する IntelliSense エラーが紫色の波線として表示されます。 処理すべき構成項目の数は、[ツール] > [オプション] の順に進んで構成することができます。
- 大幅なコンパイル時の機能強化:
- マップファイル生成のオーバーヘッドがフル リンク シナリオで軽減されています。 引き続き、マップファイルではなく 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 が使用されます。 詳細については、「what's new for Python in Visual Studio 15.6」 (Visual Studio 15.6 での Python 用の新機能) ブログ投稿を参照してください。
デバッグと診断
CPU 使用率ツール
CPU 使用率ツールでは、非同期コードの論理呼び出し履歴 ("非同期呼び出し履歴の作成" とも呼ばれる) を表示できます (図 8)。
論理呼び出し履歴 (すなわち、"作成された呼び出し履歴") を表示するには、CPU 使用率ツールの [フィルター] ドロップダウン メニューで [非同期コードの作成] 設定を有効にします。
親関数またはタスクの代わりに実行される非同期コードは、[コール ツリー] ビューおよび [呼び出し元/呼び出し先] ビューに子として表示されます。
この変更により、非同期コードへの移動が簡単になり、そのパフォーマンス特性を理解しやすくなります。
Note
非同期コード パターンによっては、この機能で論理呼び出し履歴を生成するのに時間がかかることがあります。 必要に応じて、分析を取り消して設定を無効にすることができます。 この操作は、ALT-F2 パフォーマンス プロファイラーの起動ページを使用した、事後分析のスタイル プロファイリング中にのみ有効です。 デバッグ中に CPU 使用率ツールを使用した場合、論理呼び出し履歴は表示されません。
CPU 使用率ツール (診断ツールのウィンドウおよび ALT-F2 パフォーマンス プロファイラーでの F5 デバッグ中に使用可能) では、特定のコード行の CPU 消費量に基づいてソース行が強調表示されるようになりました (図 9)。
CPU 使用率ツールの [コール ツリー] ビューまたは [呼び出し元/呼び出し先] ビューを表示すると、選択した関数のソースが表示され、関数の各ソース行には CPU の消費量が表示されます。
関数の CPU パフォーマンスに問題がある場合は、関数が実行されていたときに、具体的に関数のどのソース行が問題の CPU 消費量の原因になっていたかを特定できます。
Note
この機能では、生成された PDB にソース情報を含める必要があります。PDB はプロジェクトの設定で制御されます。 PDB にソース情報が含まれていないプロジェクトでは、行の属性およびソース ファイルのいずれも表示されません。
スレッド名のサポート
ユーザー フィードバックに従い、デバッガーは、ダンプのデバッグ時に SetThreadDescription API を介して設定されたスレッド名を表示できるようになりました。 この機能では、Windows 10 Fall Creators Update 以降のビルドにダンプを収集する必要があります。
スナップショット デバッガー
Azure App Service で実行されている ASP.NET アプリケーションで作業しているときに、スナップショットまたはログポイントを試してみたい場合は、[デバッグ ターゲット] ドロップダウンリストで [スナップショット デバッガー(AzureAppService)] を選択します (図 10)。
.NET の生産性
15.6 Preview 2 で、逆コンパイルされたソースに移動する機能を追加しました。 有効になっている場合、参照先の任意の型またはメンバーに対して [定義へ移動] または [定義をここに表示] を呼び出すと、その定義と、ILSpy 逆コンパイルを介して再構築されたメソッド本体が表示されます。 この機能を有効にするには、[ツール] > [オプション] > [テキスト エディター] > [C#] > [詳細] > [逆コンパイルされたソースへのナビゲーションを有効にする] に移動します (図 11)。
その他にも .NET EditorConfig オプションをいくつか追加しました。
- dotnet_prefer_inferred_tuple_names
- dotnet_prefer_inferred_anonymous_type_member_names
Note
.NET コーディング規則オプションをすべて表示するには、「EditorConfig の .NET コーディング規則の設定」を参照してください。
Visual Studio Web ツール
- ソリューション エクスプローラーには、"ファイルの入れ子" と呼ばれる .NET Core プロジェクト用の新機能が追加されました。この機能によりユーザーは関連するファイルをソリューション エクスプローラーに表示する方法を制御することができます。
- プロジェクトの発行エクスペリエンスが更新されました。
- [新しいプロジェクト] ダイアログ:
- .NET Framework のバージョンを選択するためのドロップダウンは、ダイアログの下部に移動され、テンプレートのフィルターとしての機能はなくなりました。
- ノード "Web" のサブ ノード "Web Site" の名前が "Previous Versions" に変更されました。
- WebForms および MVC 5 プロジェクトのデバッグ ドロップダウン:
- ユーザーは Azure App Service でデプロイされたアプリに対してスナップショット デバッガーを選択することができます。
- ASP.NET Core プロジェクトと同じブラウザー選択ジェスチャを持つように更新されました。
継続的デリバリー ツール
ソース管理下にあるソリューションについては、チーム エクスプローラーの [継続的デリバリー] タイルをクリックして、アプリケーションのビルドと展開の自動化を構成することができます。
継続的デリバリー ツールを構成する
- ソース管理プロバイダーとして TFVC のサポートを追加しました。 VSTS TFVC チーム プロジェクトのソース管理下にあるソリューションについては、継続的デリバリーを構成することができます(図 12)。
SSH による Git 認証のサポートを追加しました。 SSH AUTH が有効になっている VSTS または GitHub Git リポジトリでソース管理下にあるソリューションについては、継続的デリバリーを構成することができます。
コンテナー化されたプロジェクトのサポートを導入しました。 Linux 用の Azure App Service を対象とする Docker サポートおよび ASP.NET Core プロジェクトではソリューションの継続的デリバリーを構成することができます (Web App for Containers) (図 13)。 [継続的デリバリーを構成する] ダイアログの既定値では、Linux 用の Azure App Service (Web App for Containers) が新たに作成され、Azure サブスクリプションにそれがまだ存在しない場合は Azure Container Registry が作成されます。
チーム エクスプローラー
Git タグのサポート
Git タグのサポートを強化しました。 タグの作成、削除、およびプッシュができるようになりました。 [タグ] ページでは、リポジトリ内のすべてのタグを表示することができ、タグから新しいブランチを作成できます。 これは、UserVoice からの要求が最も多かった機能の 1 つでした。
Visual Studio Team Services ユーザーに対しては、pull request ブランチをチェックアウトできます。 この機能により、pull requests のレビュー、変更のテスト、およびコードのビルドが容易になります。
ユニバーサル Windows プラットフォーム開発者向けツール
Windows 10 Insider Preview SDK (ビルド 17095) は、オプションのコンポーネントとして、ユニバーサル Windows プラットフォーム開発ワークロードと共にインストールできます。
拡張性
複数の Visual Studio 実行可能ファイル (devenv.exe、blend.exe、wdexpress.exe、vsga.exe) のファイル バージョンはマイナー リリースを反映します (たとえば 15.6.*)。
Note
これはいずれの機能にも影響しませんが、実行可能ファイルのバージョン番号に依存する外部コードについては、更新を必要とする場合があります。
テスト エクスプローラー
新しい階層ビュー
Visual Studio のテスト エクスプローラーには、プロジェクト、名前空間、およびクラスごとにテストを整理する階層ビュー (図 14) が追加されました。 このビューのオン/オフを切り替えるには、[グループ化] ボタンの横の [テスト エクスプローラー] ウィンドウの上部にある階層ボタンを使用します。
この機能を使用すると、テスト間の移動がはるかに簡単になるだけでなく、テストに関する適切なフィードバックをひとめで確認することもできます。
- 階層内の "親ノード" (プロジェクト、名前空間、クラス) には、失敗したテストが 1 つ以上含まれている場合、失敗したテストのアイコンが表示されます。
- また、親ノードの後には、グループ化に含まれるテスト数を集計した値が続きます。 親ノードの右側に表示される期間 (ミリ秒) は、そのグループ内のテストの実行にかかった時間の合計です。
リアルタイム テスト検出
テストはリアルタイムのテスト検出によって自動的に検出され (図 15)、管理プロジェクトをビルドする必要はありません。 これにより、テスト エクスプローラーは、テストの追加、削除、または編集などのコード変更を常に反映することができます。 すべての種類のプロジェクトで使用できる前述の階層ビュー機能とは異なり、自動テスト検出機能は C# プロジェクトおよび Visual Basic プロジェクトでのみ使用できます。
Win10 IoT Core テストのサポート
Win10 IoT Core アプリケーションのテストに対するサポートを導入しました。 このような UWP アプリケーションのテストをデバイスに展開し、デバイス上でデバッグおよび実行できるようになりました。 テストはまた、テスト エクスプローラーに完全に統合されます。 配置および実行のサポートは、VSTS CI を介しても利用できます。 したがって、Visual Studio での編集、コンパイル、デバッグ、テスト サイクル、さらに Visual Studio Team Services での継続的インテグレーション ワークフローにおいて、Win10 IoT Core アプリケーションは完全にサポートされています。
Visual Studio Build Tools
Visual Studio Build Tools を使用すると、Visual Studio のすべてをインストールしなくても、ビルド サーバーを作成できます。 インストーラーでは、デスクトップ プロジェクトに対して C++、ASP.NET、および .NET Core をすでにサポートしています。 お客様のご要望に応えて、その他の種類のプロジェクトもサポートするよう Visual Studio Build Tools の機能を強化しています。 このリリースでは、TypeScript プロジェクトおよび Node.js プロジェクトに対するサポートを追加しました。 将来のリリースでは、より多くのプロジェクトの種類に対するサポートを追加する予定です。 これは、このリリースの Visual Studio Build Tools のダウンロード場所となります。
Visual Studio ClickOnce ツール
ClickOnce は、ユーザーとの最小限の対話によってインストールして実行できる、自己更新型の Windows ベースのアプリケーションの作成を可能にする配置テクノロジです。 ClickOnce では、アプリケーションの発行元の信頼性を検証し、アプリケーションおよび配置マニフェストに署名してファイルが改ざんされていないことを証明するときに証明書を使用します。 このリリースでは、Cryptography Next Generation (CNG) 証明書を使用してアプリケーションおよび配置マニフェストに署名する機能に対するサポートが追加されました。
Key Vault
Visual Studio 15.6 用にAzure Services Authentication Extension インボックスを追加しました。 これにより、Microsoft.Azure.Services.AppAuthentication ライブラリを使用するプロジェクトは、Visual Studio アカウントで、Key Vault などの Azure リソースにアクセスすることができます。
macOS の自動プロビジョニング
Windows 用の Visual Studio での iOS アプリのビルドがさらに簡単になります。 このリリースでは、自動 macOS プロビジョニングと呼ばれる最新機能を追加します。 Mac ビルド コンピューターを手動で管理する必要はありません。Mac に接続するだけで、後は Microsoft がビルド コンピューターの面倒なインストールおよび構成の作業を適切な Xamarin.iOS および Mono bits ビットですべて Visual Studio から処理します。
iOS Wi-Fi の展開
iOS リモート シミュレーターを使用することで、開発者は Windows 用の Visual Studio で 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 は、.NET Core のパブリック バージョンに存在するセキュリティ上の脆弱性を認識しています。このバージョンでは、悪意のあるファイルや Web 要求によってサービス拒否 (DoS) 攻撃が引き起こされる可能性があります。
重要
システム管理者は、.NET Core ランタイムをバージョン 1.0.10、1.1.7、2.0.6 に更新することをお勧めします。 開発者は、.NET Core SDK をバージョン 1.1.8 または 2.1.101 に更新することをお勧めします。
15.6.2 で修正された主な問題
以下は、ユーザーから報告され、このリリースで対処された問題です。
- "指定された引数は、有効な値の範囲内にありません。パラメーター名: カウント"
git
タグ。 - Git コミットの詳細を開くことができません。
- SyncFusion WPF テンプレートがインストールされているときに、[変更] を実行すると、VS2017 インストーラーがクラッシュします。
- テスト エクスプローラーでテストを実行すると、位置が失われます。
- テスト エクスプローラーのテスト階層が常に一番上にジャンプします。
- XAML ファイルを変更すると、XAML エディターが常にクラッシュします。
- テスト エクスプローラーで新しいテストを開始すると、一番上にスクロールし続けます。
- Git 履歴を表示すると、指定した引数が値の範囲外であるというメッセージが表示されます。
- .NET Framework プロジェクトで Alt キーを押しながら↑または↓キーを押しても、ファイルの位置が変わりません。
- ファイル リストに 'None Include' を追加すると、.NET Core SDK プロジェクトのソリューションの読み込み時に VS 15.6 がデッドロックします。
- 15.6 プレビュー 6 でテスト アダプターが検出されますが、テストを実行できません。
Visual Studio 2017 バージョン 15.6.3 サービス更新プログラム
2018 年 3 月 19 日にリリース
15.6.3 での更新の概要
CVE-2018-0875: .NET Core のマイクロソフト セキュリティ アドバイザリ
Microsoft は、.NET Core のパブリック バージョンに存在するセキュリティ上の脆弱性を認識しています。このバージョンでは、悪意のあるファイルや Web 要求によってサービス拒否 (DoS) 攻撃が引き起こされる可能性があります。
重要
システム管理者は、.NET Core ランタイムをバージョン 1.0.10、1.1.7、2.0.6 に更新することをお勧めします。 開発者は、.NET Core SDK をバージョン 1.1.8 または 2.1.101 に更新することをお勧めします。
15.6.3 で修正された主な問題
以下は、ユーザーから報告され、このリリースで対処された問題です。
- "指定された引数は、有効な値の範囲内にありません。パラメーター名: カウント"
git
タグ。 - Git コミットの詳細を開くことができません。
- SyncFusion WPF テンプレートがインストールされているときに、[変更] を実行すると、VS2017 インストーラーがクラッシュします。
- テスト エクスプローラーでテストを実行すると、位置が失われます。
- テスト エクスプローラーのテスト階層が常に一番上にジャンプします。
- XAML ファイルを変更すると、XAML エディターが常にクラッシュします。
- テスト エクスプローラーで新しいテストを開始すると、一番上にスクロールし続けます。
- Git 履歴を表示すると、指定した引数が値の範囲外であるというメッセージが表示されます。
- .NET Framework プロジェクトで Alt キーを押しながら↑または↓キーを押しても、ファイルの位置が変わりません。
- ファイル リストに 'None Include' を追加すると、.NET Core SDK プロジェクトのソリューションの読み込み時に VS 15.6 がデッドロックします。
- 15.6 プレビュー 6 でテスト アダプターが検出されますが、テストを実行できません。
- テスト エクスプローラーで新しいテストを開始すると、一番上にスクロールし続けます。
- .NET Core 更新プログラムのマイクロソフト セキュリティ アドバイザリ。
Visual Studio 2017 バージョン 15.6.4 サービス更新
2018 年 3 月 22 日にリリース
15.6.4 で修正された主な問題
以下は、ユーザーから報告され、このリリースで対処された問題です。
- アセット ファイル 'c:\xxxxxx\obj\project.assets.json' に '.NETStandard,Version=v2.0' のターゲットがありません。
- 別のユーザーから実行中の別の VS インスタンスがある場合、VS2017 は最初の起動時の設定を維持できません。
- VS15.6.0 で Android LLVM libc++ 静的ライブラリ STL が破損します。
- 単体テストがアルファベット順に並べ替えられなくなりました。
- 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 の変更が保存されません。
- 15.5.6 へのアップグレード後、
C:\Windows\temp
が .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 ファイルが生成される方法を修正することにより、この脆弱性を解決します。
重要
詳細については、CVE-2018-1037 のセキュリティ更新プログラムを参照してください。
15.6.6 で修正された主な問題
以下は、ユーザーから報告され、このリリースで対処された問題です。
- このリリースでは、ソリューションが最初に読み込まれたときに、一部の Application Insights ユーザーに CodeLens 要求と例外インジケーターが表示されない問題が解決されています。
Visual Studio 2017 バージョン 15.6.7 サービス更新プログラム
2018 年 4 月 26 日にリリース
15.6.7 での更新の概要
- Git 操作を実行するときの VS の応答性が向上しました。
- /debug:fastlink PDB での大規模ソリューションのデバッグ処理がより堅牢になりました。 PDB/DIA での変更により、クラッシュの原因になっていた VS デバッガーでの待ち時間が縮小され、ヒープ メモリの消費量が 30% 削減されました。
15.6.7 で修正された主な問題
以下は、ユーザーから報告され、このリリースで対処された問題です。
- C++ コンパイラのバグ修正:
__finally
ハンドラーで使用された変数への格納の後で、SSA オプティマイザーが誤って関数呼び出しをシンクする問題を修正しました。- 負のオフセットを持つ場所からのメモリ読み込みを、SSA オプティマイザーが誤って分析することがある問題を修正しました。
- オプティマイザーがインクリメント前ループをインクリメント後ループに誤って変換する問題を修正しました。 これは、ICU プロジェクトのコンパイルで見つかりました。
- Java™ Development Kit 8 Update 172 (JDK バージョン 8u172) にアップグレードしました。
既知の問題
ご意見とご感想はすべて参考にさせていただいております。 開発者コミュニティ サイトにアクセスして、最新の問題を検索したり、新しい問題を投稿したり、既存の問題を更新したりします。
Visual Studio 2017 バージョン 15.6 のすべての既知の問題と回避策を参照できます。
フィードバックと提案
皆様のご意見をお待ちしております。 問題がある場合は、インストーラーまたは Visual Studio IDE 自体の右上隅にある [問題の報告] オプションからお知らせください。 右上隅に アイコンがあります。 製品に関する提案をしたり、Visual Studio 開発者コミュニティで問題を追跡したりすることにより、質問、回答の検索、新機能を提案したりすることができます。 ライブ チャット サポートを介して、無料のインストールのヘルプを取得することもできます。
ブログ
開発者ツールのブログで提供されている洞察や推奨事項を活用すると、すべての新しいリリースに関する最新情報を入手し続けることができ、さまざまな機能について掘り下げた記事を参照することもできます。
Visual Studio 2017 リリース ノート履歴
過去のバージョンの Visual Studio 2017 に関連する詳細については、「Visual Studio 2017 リリース ノート履歴」のページを参照してください。