Visual Studio IconVisual Studio 2015 Update 2 のリリース ノート


ライセンス条項 | Visual Studio ブログ | Developer Community

Note

これは Visual Studio の最新バージョンではありません。 最新のリリースをダウンロードするには、Visual Studio 2019 の最新のリリース ノートを参照してください。


Visual Studio 2015 リリース

Visual Studio 2015 のすべてのバージョンのリリース ノートをご覧いただけます。

Visual Studio 2015 のダウンロード

Visual Studio 2015 は My.VisualStudio.com からダウンロードできます。 My.VisualStudio.com を使用するには、無料の Dev Essentials サブスクリプション、または Visual Studio サブスクリプションが必要です。


Release Notes IconVisual Studio 2015 Update 2

リリース日: 2016 年 3 月 30 日

このリリースでの新機能の概要

Visual Studio:

その他の変更点:


このリリースの新機能

Visual Studio Tools for Apache Cordova

Visual Studio 2015 Update 2 には、以下の点が強化された Visual Studio Tools for Apache Cordova Update 8 が含まれています。

  • Cordova 6.0.0 のサポート
  • ビルド エラー メッセージの改善
  • npm の統合の改良 (サンドボックス バージョンの使用とシステム プロキシ設定の反映)
  • 更新されたプラグインの一覧

これまでのすべてのリリースの詳細については、Visual Studio Tools for Apache Cordova のブログを参照してください。

ユニバーサル Windows アプリ開発用 Visual Studio Tools

Visual Studio Update 2 のユニバーサル Windows プラットフォーム ツールに、次の新機能が追加されました。

  • ユニバーサル Windows SDK バージョン ピッカー。 新しい UWP プロジェクトを作成するときに、ターゲットとする Windows SDK のバージョンと、アプリを使用できる OS の最小バージョンを選択できるようになりました。
  • ユニバーサル Windows アプリでの C++ バックグラウンド タスクのデバッグ。 Visual Studio のユニバーサル Windows アプリでバックグラウンド タスク プロセスをデバッグできるようになりました。 このオプションは、プロジェクトの [プロパティのデバッグ] タブからアクセスできます。
  • ストア パッケージ ウィザードの機能強化。 ストア パッケージ ウィザードで、アプリケーション名とパッケージ構成がキャッシュされるようになりました。 パッケージがストアに関連付けられると、再度サインインしなくても appx パッケージを作成できます。

Visual C++

C++ コンパイラ

このリリースでは、C++ コンパイラと標準ライブラリを更新して C++11 と C++14 機能のサポートを強化し、C++17 標準に組み込まれると予想される特定の機能について予備的なサポートを追加しました。 コンパイラの変更で最も重要なものは、変数テンプレートのサポートと、constexpr 機能の向上です。

Visual Studio 2015 Update 2 では、/SDL を /AWAIT と一緒に使うことができます。 また、コルーチンから /RTC の制限を削除しました。 コルーチンはまだ実験段階とはいえ、良質な運用コードを提供する準備が整いました。

さらに、300 を超えるコンパイラのバグを修正しました。これには、Microsoft Developer Community を通じて多くのユーザーから報告されたバグが含まれます。ありがとうございます。 (それらのバグ修正の一部はコンパイラのコード生成の問題を解決するものであり、それらを修正するにはソースに重大な変更を加えることが必要でした。詳細については、MSDN の Visual C++ 2015 Update 2 での破壊的変更のリストを参照してください)。

C++ ライブラリ

C++11、C++14、C++17 でこれまでに承認されたすべての C++ 標準ライブラリ機能を実装しました (報告書 N4567 (Jacksonville 前))。

UWP パッケージについては、ucrtbased.dll (デバッグ) が、Microsoft.VCLibs バージョン 14.0 フレームワーク パッケージから削除されました。 これは、Windows 10 SDK の特定のバージョンにロックインされることを回避するための変更です。 Visual Studio/MSBuild は、VCLibs フレームワーク パッケージを参照するプロジェクトについて、Microsoft Universal CRT Debug Runtime Extension SDK に対する参照を自動的に挿入した後、アプリケーションの appx にある ucrtbased.dll をインクルードします。 MSBuild 以外のビルド システムでは、アプリケーションの appx ファイル (App Local) に手動で ucrtbased.dll を組み込む必要があります。

C++ IDE

SQLite ベースの新しいデータベース エンジンが、既定で使用されるようになりました。 これにより、[定義に移動] や [すべての参照を検索] などのデータベース操作が高速化され、ソリューションの初期解析時間も大幅に短縮されます。 この設定は、[ツール] -> [オプション] -> [テキスト エディター] -> [C/C++] -> [詳細設定] に移動しました (以前は、... [C/C++] -> [試験的] の下にありました)。   

Clang/C2 プラットフォーム ツールセット

Visual Studio 2015 Update 2 に付属する Clang/C2 ツールセットで、/bigobj スイッチがサポートされるようになりました。これは、大規模なプロジェクトを構築する際に重要です。 また、コンパイラのフロントエンドとバックエンドの両方について、いくつかの重要なバグ修正が組み込まれました。

Android

Android オファリングで Gradle ビルドがサポートされるようになりました。 開発者は、Gradle を使って Android アーティファクト (.aar、.apk など) を作成できます。 開始するには、[ファイル] -> [新規作成] -> [Visual C++] -> [クロス プラットフォーム] メニューの一部として提供されている Gradle テンプレートをご覧ください。

iOS

Visual Studio で、既存の Xcode プロジェクトを、エントリ ポイント ウィザードを経由して Visual Studio にインポートできるようになりました。

また、iOS 環境では、編集-ビルド-デバッグのサイクルが、次の機能セットを使った結果、次のように強化されました。

  • iOS 開発者は、プロビジョニング プロファイルを Visual Studio で利用できます。
  • iOS 開発者は、iOS オファリング用のフレームワークと dylib を利用できます。
  • Visual Studio で、デバッグ対象を動的に更新するための機能が強化されました。
  • ビルドのクリーンに関して複数のバグ修正を適用しました。

今でも Xcode が必要なシナリオ (たとえば、ストア向けに iOS アプリケーションに署名する場合や、Xcode インストルメントを使う場合) については、開発者が Visual Studio の "Open in Xcode" 機能を利用すれば、Visual Studio の iOS プロジェクトを Xcode に移植して実行できます。

C# および Visual Basic

Update 2 では、お客様からのフィードバックへの対応とバグの修正に重点を置きましたが、次の機能も改善しました。

  • プロジェクトのコンテキストを使用して C# インタラクティブ ウィンドウを初期化し、そのプロジェクト内の型にすぐにアクセスできるようになりました。 新しい [インタラクティブで実行] コマンドを使用して、ソリューションからコード フラグメントを送信してインタラクティブ ウィンドウで実行することもできます。

C# Execute In Interactive

C# Interactive

  • スペルミスのある型の "あいまい" 一致をサポートし、ソリューションとメタデータ全体で正しい型を検索して、using と必要なプロジェクトまたはメタデータの参照の両方を追加するように、[using の追加] コマンドを改善しました。

C# Add Using command

  • Analyzer API を機能強化しました。これには、アナライザー作成者が自分のアナライザーを同時実行用にマークできるようにすることや、生成されたコードでアナライザーを実行するかどうかの制御の提供などが含まれます。

  • 新しい IDE リファクタリングをいくつか追加しました。これには、新しい null 条件演算子を使用してデリゲートの呼び出しを簡素化する電球アクションや、'await' 演算子を使用しない場合に非同期メソッドを同期に変換するリファクタリングなどが含まれます。

C# IDE Refactoring

.NET Framework 4.6.1

ClickOnce Bootstrapper パッケージ

Update 2 では、Visual Studio 2015 用に .NET Framework 4.6.1 ClickOnce Bootstrapper パッケージを追加しました。 .NET Framework 4.6.1 の ClickOnce Bootstrapper パッケージにより、Visual Studio 2015 の使用可能な前提条件のリスト内で .NET 4.6.1 エントリが有効になります。これにより、ClickOnce 配置のためのアプリケーションの発行が容易になります。

Visual Studio IDE

  • TextMate スニペットのサポート。 Visual Studioで、tmSnippet ファイルをスニペット フォルダーに配置して使用できるようになりました。 既定では、スニペットは GO、Groovy、Lua、Perl、R、Ruby、Swift などの言語の入力候補一覧で提供されます。
  • 拡張機能の自動更新。 さらに多くの拡張機能に自動更新機能を拡張しています。 自動更新が有効になっている拡張機能は、ユーザーの介入なしで自動的にダウンロードされ、インストールされます。 これらの拡張機能に対して Visual Studio を手動で更新して再起動する必要はなくなりました。 "すべてのユーザー" にインストールされている拡張機能は、この機能をオプトインできるようになりました。 ユーザーは、引き続き自動更新の有効/無効を完全に制御できます。拡張機能ごとに行う場合は、[ツール] -> [拡張機能と更新プログラム] を使用し、グローバル レベルで行う場合は、[ツール] -> [オプション] を使用します。

Auto-Update for Extensions in the Visual Studio IDE

  • スクリーン リーダーを使用した [アカウントの設定] ダイアログへのアクセスが、大幅に改善されました。

バージョン コントロール

Update 1 での取り組みをさらに発展させ、バージョン コントロール エクスペリエンスを向上させるために、ステータス バーにさらに多くの機能を追加しました。 Update 1 では、リポジトリ名と現在のブランチを表示するための 2 つの新しいコンパートメントが導入されましたが、これらは内部実装に限定されていました。 Update 2 では、3 つの新しいコンパートメントを追加し、これらをサードパーティのソース管理プロバイダーが実装できるようにしました。

新しいコンパートメントのうち 2 つは、保留中の変更数と未発行コミットの数を簡単に確認できるようにするためのもので、元の Update 1 の作業と共に表示されます。 変更やサーバーとの同期に関しては、プロバイダーごとに異なるパラダイムがある場合があることは承知していますが、これらのコンパートメントでそれらに対応するのに十分な柔軟性が提供されると考えています。 いずれかのコンパートメントが適用されない場合、プロバイダーはそのコンパートメントを実装から除外することを選択でき、そのコンパートメントがステータス バーに表示されなくなります。

Git プロバイダーが既定で実装されているため、クリックするだけでチーム エクスプローラーの [同期]、[変更]、[ブランチ]、[接続] のいずれかのページに移動できます。

Version Control - Unpublished Commits example

Version Control - No Pending Changes example

前述のコンパートメントは、既にソース管理下にあるソリューションに対してさらに多くの情報と迅速なアクションを提供することを目的としていますが、最後のコンパートメントは、ソリューションをソース管理下に置くための迅速かつ簡単な方法を提供することを目的としています。 この新しい発行コンパートメントを使用すると、ワンクリックだけでソース管理プロバイダーの選択とソリューションの追加が行えます。

既定の [発行] を使用すると、ソリューションが Git リポジトリに自動的にラップされ、フォーカスがチーム エクスプローラーの [同期] ページに切り替わり、リモートを追加してソリューションを発行できるようになります。 この機能をサポートするプロバイダーが増えると、[発行] ボタンを使用して、特定のソリューションに使用するソース管理を選択できるようになります。

Version Control - Publish This Solution example

NuGet

Visual Studio の NuGet 拡張機能が v3.4 に更新されました。これには、次の新機能と機能強化が含まれています。

  • コンパイルされた xproj プロジェクトのパッケージから PDB をコピーする機能。
  • contentFiles 要素での iOS および Android ビルド アクションのサポート。
  • Linux および Apple 環境で NuGet を実行するためのサポート。
  • 集約された "すべてのリポジトリ ソース" ソース。これにより、任意の使用可能な構成済みパッケージ リポジトリからパッケージを検索してインストールできます。
  • パッケージ復元および更新アクションでの大幅なパフォーマンスの向上。
  • Update、Consolidate、Installed ビューでのユーザー インターフェイスのパフォーマンスの調整と向上。
  • プロジェクトのパッケージを並列で復元する。
  • gzip 圧縮の HTTP トラフィックのサポート。これによって、NuGet クライアントはサービスから gzip コンテンツ エンコードを読み取ることができます。
  • 構成ファイルの処理が向上し、不要な編集および書式設定が実行されないようになりました。
  • netstandard と netstandardapp ターゲット フレームワーク モニカーのサポート。

GitHub のイシューが添付された詳細なリリース ノートの完全なセットは、NuGet ドキュメント サイトで確認できます。

TypeScript

Visual Studio 2015 Update 2 には TypeScript 1.8 が含まれています。これには、次の新機能と機能強化が含まれています。

  • 文字列リテラル型、F 境界ポリモーフィズム、'this' ベース型のガード、改善された共用体型の推定のサポート。
  • コンパイラで、到達できないコード、return ステートメントの欠落、未使用のラベルなどの一般的なバグが強調表示されるようになりました。
  • JSX のサポートが更新され、JSX 構文の最新の変更が認識され、色分けされるようになりました。
  • ビルド構成をより適切に制御するために tsconfig.json のサポートが強化されました。
  • モジュール拡張を使用して、より多くのモジュール ライブラリを設計する機能。
  • TypeScript コンパイラへの入力として JavaScript ソース ファイルを含めることができます。

詳細については、MSDN の TypeScript ブログを参照してください。

Developer Analytics Tools

Developer Analytics Tools v5.2 (旧称 Application Insights Tools for Visual Studio) には、Visual Studio 2015 Update 1 に付属していた v4.0 に対するいくつかの新機能と機能強化が含まれています。 その中には、以下のような特筆すべき追加点があります。

  • HockeyApp を使用したユニバーサル Windows アプリのベータ版配布。
  • HockeyApp を使用した Windows フォーム アプリのベータ版配布。
  • ローカル デバッグ セッションで出力された Application Insights Telemetry を検索する機能。
  • Visual Studio における Application Insights トーストへの対応の強化。
  • log4net、NLog、System.Diagnostics などのログ記録フレームワークからのトレース収集を構成する、合理化された機能。

さらに、検索機能に対して次のようないくつかの機能強化が行われました。

  • 例外スタック トレースからソース コードのメソッドにジャンプする機能。
  • 関連したテレメトリを検索する機能。
  • コード内でテレメトリのプロパティ値を検索する機能のサポート。
  • 検索の履歴をさかのぼったり前に進んだりする機能。

詳細については、Microsoft Azure の技術リリース ノートを参照してください。

チーム エクスプローラー

Update 2 では、チーム エクスプローラーを開いて、Visual Studio で作業項目のクエリを参照する操作がより速くなりました。  これで、クエリ ツリーを参照すると、Visual Studio によってクエリ階層の次のレベルのクエリ フォルダーと項目が TFS サーバーから段階的にプルされるため、必要に応じて (つまり、階層ツリーが展開されたときに) より深いツリー レベルがクライアントにダウンロードされます。

Visual Studio での Git の機能強化

  • 新しい Git コマンド。 この更新プログラムでは、リセット (--hard と --mixed)、チェリーピック、ステージングのサポートが追加されました。
  • Git LFS。 Visual Studio は、Git LFS (Large File Storage) を使用するように構成された Git リポジトリと互換性を持つようになりました。 Git LFS について詳しくは、こちらをご覧ください。
  • [変更] ページでステージングがサポートされるようになりました。ダブルクリックなどの簡単なアクションを使用して、すべてをステージして、変更されたファイルの差分を表示できます。 

Example of the Changes page

  • [履歴] ビューでは、特定の作成者からのコミットを見つけるためのフィルター処理、またはコミット コメント内のキーワードを使用したフィルター処理がサポートされています。 コミットを選択すると、ブランチの先頭と親系列へのパスが強調表示されます。

Example of the History view

  • [ブランチ] ページでの変更のフェッチ、プル、プッシュが簡単になりました。

Team Foundation バージョン管理のゲート チェックイン

TFVC プロジェクトで、コードをブランチに送信する前にビルドの成功を要求するブランチ ポリシーを設定できるようになりました。

SQL Server Data Tools

Visual Studio 2015 Update 2 には、SQL Server Data Tools の最新の更新プログラムが含まれています。これにより、Azure SQL Database および SQL Server 2016 の最新の機能がサポートされます。

この更新プログラムにより、サポートされるすべてのバージョンの SQL Server およびデータベース プラットフォーム (オンプレミスとクラウドの両方) で、Visual Studio を使ってデータベースを簡単に開発、テスト、展開できます。 この更新プログラムには、データベース プログラミング サーフェス領域の拡張機能も含まれており、SQL Server Data Tools での SQL 接続エクスぺリエンス機能を改善し、クリックするだけで接続できる SQL Server および Azure SQL Database を自動的に検出できるようになりました。

さらに、Visual Studio 2015 Update 2 は、新しい Azure SQL Database 認証の種類と、Azure Active Directory 統合およびパスワード認証に対応しています。

Python Tools for Visual Studio

Visual Studio 2015 Update 2 には、Python Tools 2.2.3 の更新プログラムが含まれています。 Python Tools により、Python プログラミング言語の編集、IntelliSense、デバッグ、プロファイル、Azure 機能が提供されます。

このリリースでは、Django の最新バージョンのサポートも強化され、その他の問題もいくつか修正されています。

詳細とダウンロードについては、Python Tools 2.2.3 リリース ページを参照してください。

その他

並列テストの実行

Update 2 では、バグの修正とユーザーからのフィードバックへの対応に重点が置かれています。 このようなフィードバックに基づいて、並列テスト実行機能が更新されました。 セマンティクスは、Update 1 (この機能が導入されたとき) と同じままです。 Update 2 では、次の方法でこの機能を簡単に制御できるようになりました。

  • Visual Studio IDE テスト エクスプローラーには、並列実行のオン/オフに使用できる新しいトグル ボタンがあります。 その後、この設定はソリューションと共に保持されます。
  • コマンド ラインから、vstest.console.exe は新しい /Parallel スイッチを提供します。

XAML 診断

アプリ内メニュー

Visual Studio 2015 に、UI デバッグを簡単に実行できるアプリ内メニューが追加されました。 選択モードのオンとオフを切り替えたり、レイアウト装飾を切り替えたり、Visual Studio のライブ ビジュアル ツリーに直接ジャンプしたりできます。 アイコンの下のバーをクリックしてアプリ内メニューを折りたたんだり、ライブ ビジュアル ツリーからアプリ内メニューのオンとオフを切り替えたりすることもできます。

ライブ プロパティ エディターのアクセシビリティ プロパティ

WPF またはユニバーサル Windows 10 プロジェクトのデバッグ中に使用できるライブ プロパティ エクスプローラーで、アプリ内のオートメーション ピアによって公開されるプロパティが列挙されるようになりました。 この新しいビューは、すべてのユーザーがアプリにアクセスできない原因となる多くの一般的な問題を診断するのに役立ちます。

その他の変更

パフォーマンスと応答性

次の Visual Studio のパフォーマンスが向上しました。

  • Visual Studio でチーム エクスプローラーを開いて作業項目クエリを参照する速度が向上しました。
  • ディスク領域を節約し、アプリケーションの障害を防ぐため、%temp% ディレクトリへのログ ファイルの生成を大幅に削減しました。
  • VS 更新プログラムおよび追加機能のダウンロードとインストールの信頼性が向上しました。
  • 拡張機能のインストール時の Visual Studio の起動時間が短縮されました。
  • 特定のパッケージをダウンロードするときと、特定の機能を選択するときのセットアップ エラーを停止しました。
  • C++ 用の Microsoft の参照データベース エンジンに SQLite のサポートが追加されました。これにより、ユーザー コードの元の解析と、検索を必要とするすべての IntelliSense 操作が大幅に高速化されました。
  • IDE の右上隅にあるサインイン名の横に "一時停止" 記号が表示されないようにしました。 現在、設定とプロファイルは、IDE 内で認証されてから 90 日間ローミングされます。 (visualstudio.com に 7 日間接続しなくても、資格情報は期限切れになりません。)
  • ASP.NET MVC5 テンプレートを更新しました。 この修正プログラムは、Microsoft セキュリティ アドバイザリ 3137909で説明されている脆弱性に対処します。
  • 新しいデータベース エンジンを有効にしました。 これで、C++ プロジェクトの読み込みが速くなり、UI の遅延発生が少なくなるはずです。 
  • iostream (つまり、"stream >> dbl") を使用して浮動小数点数を抽出する速度が向上しました。 最大で 19 倍高速になり、抽出された値のすべてのビットが正確になりました。
  • std::vector の再割り当てと std::copy() の速度が向上しました。これらがトリビアルにコピー可能な型 (ユーザー定義型を含む) に対して memmove() を呼び出す際の速度が最大 9 倍速くなります。
  • std::vector の速度が向上し、最大 11 倍高速になりました。
  • std::string::replace() の速度が向上しました。これにより、同じサイズの substring を置換する場合には非常に高速になります。
  • std::string::push_back() の速度が向上し、最大 3 倍高速になりました。
  • std::sub_match 比較は、一時的な std::strings の構築が回避されるようになったため、速度が向上しました。
  • std::function のコピー コンストラクターの速度が向上しました。生成されるコードのサイズが小さくなったことで、わずかに速くなりました。
  • [更新]、[インストール済み]、[統合] タブの NuGet のパフォーマンス、復元と更新のアクション、gzip 圧縮をサポートする NuGet.org などのリポジトリに対するクエリの実行速度が向上しました。
  • セッションでの最初の入力候補一覧の呼び出しが改善されました。スニペットの列挙が非同期操作に変更されたため、応答が大幅に速くなりました。
  • T4 テキスト テンプレートが強化され、これにより C# 6.0 がサポートされるようになりました。
  • (Windows ドッキング シナリオに関連する) コード マップの信頼性が向上しました。

また、次のシナリオにおける Visual Studio の応答性も修正しました。

  • Edge が既定のブラウザーの場合は、Windows 10 でヘルプ ビューアーを使用する。
  • 読み取り専用ドライブまたは切断されたドライブを使用する場合はセットアップを実行する。
  • 間欠的なネットワーク接続の問題が発生している間は、Visual Studio で作業する。
  • デバッグ中に C# または Visual Basic ファイルを編集する。詳細は MSDN の記事「Microsoft Visual Studio 2015 の更新プログラム (KB3110221)」をご覧ください。
  • <Description> 要素または <Title> 要素がないカスタム スニペットでエディターを使用する。
  • 編集中にマネージド プロジェクトのエラー リスト エントリを更新する。
  • 長いセッションでマネージド プロジェクトを開いたままにする。 (長いセッションでマネージド プロジェクトが開かれたままになっている場合に、それを含むソリューションの OutOfMemoryException を停止しました。また、お客様からこれまでに受け取ったヒープ ダンプに基づいてメモリの問題を修正しました。)
  • メモリ プロファイラー スナップショットを開く。
  • C++ ストア アプリケーションを作成する。
  • ソース管理プロジェクト パスが長すぎる場合は、Visual Studio を使用する。
  • セットアップ中に VC プロジェクト パッケージを読み込む。
  • Visual Studio をシャットダウンする。
  • プロジェクトのプロパティを編集する。
  • C++ コードを編集する。
  • メソッドの呼び出し時にサード パーティ製コンポーネントまたはその他の Visual Studio コードを呼び出す。
  • ローカライズされた一部のビルドで特定のエラー メッセージを出力するときに IntelliSense エンジン (vcpkgsrv) を使用する。 現在は、"IntelliSense PCH ファイルが生成されませんでした" というエラー メッセージが表示される。
  • ジェネリック型階層内の名前付きオーバーライドの特定のパターンを含む C++ プロジェクトで参照されるマネージド アセンブリを処理する。
  • 大規模な C++ プロジェクトを開くと、Visual Studio が最大 3 秒間応答しなくなる。
  • コメント内で貼り付けを使用する。
  • 宣言/定義の作成を呼び出す。

バグ修正と既知の問題

このリリースでのテクノロジの改善、バグ修正、既知の問題について詳しくは、次の MSDN 記事をご覧ください。

詳細情報: Visual Studio 2015 Update 2 の説明

Azure SDK 2.9

Azure 開発エクスペリエンスの向上に役立つ最新の更新の一部を次に示します。

  • REST API クライアント生成で、生成されたコード内でコード生成フォルダーや名前空間の名前が "Unknown Type" として表示される問題が修正されました。
  • スケジュールされた Web ジョブで、認証情報が Scheduler のプロビジョニング プロセスに渡されないという問題が修正されました。
  • App Service のプロビジョニング ダイアログの [サービス] タブで、セカンダリ App Services のサポートが追加されました。

詳細については、次の Azure Tools のブログ記事を参照してください。