Visual Studio アイコン Visual Studio 2015 Update 3 リリース ノート

Important

このバージョンは サポートされなくなりました 最新のリリースをダウンロードするには、 https://visualstudio.microsoft.com/downloads/にアクセスしてください。

Visual Studio 2015 リリース

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

Visual Studio 2015 のダウンロード

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

リリース ノート アイコン Visual Studio 2015 Update 3

リリース日: 2016 年 6 月 27 日

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


このリリースの新機能

Tools for Apache Cordova

Visual Studio 2015 Update 3 と共にインストールされた Node.js バージョンが古い。 新しいリリースに更新するには、 Node.jsを安全に更新 する方法の詳細を参照してください。

Visual Studio 2015 Update 3 には、以下の機能強化を含む Apache Cordova Update 10 用ツールが含まれています。 および Update 10。 ツールに関する最新のニュースについては、GitHub の 開発者ブログ を参照してください。

  • 新しいプロジェクトの既定のバージョンである Cordova 6.1.1 のサポートが追加されました。
  • Cordova 4.x で使用されていた Cordova プラグイン レジストリを廃止しました。つまり、プラグインを追加するには Cordova 5.x 以降が必要になりました。
  • コア プラグインの一覧が更新され、Intune、Azure Engagement、セキュリティ、SQLite ローカル ストレージなどのエンタープライズ シナリオ用のプラグインが含まれるようになりました。
  • npm パッケージ名または ID を使用して、構成デザイナーからプラグインを追加できるようになりました。

cordova-add-plugin-byid(Cordova プラグインをIDで追加)

  • 構成デザイナーからパラメーターを必要とするプラグインを追加することもできます。

plugin-parameters

Developer Analytics ツール

Developer Analytics Tools v7.0.2 で次の機能強化が追加されました。

  • Application Insights の傾向。アプリのテレメトリの傾向を見つけるためのツールです。
  • CodeLens の例外テレメトリ。
  • 診断ツールの例外に追加された運用テレメトリ情報。
  • Visual Studio から ASP.NET Core RC2 プロジェクトに Application Insights を追加するためのサポート。
  • ASP.NET 5 RC1 および ASP.NET Core RC2 プロジェクトの診断ツール イベント。
  • 詳細フィルター、時間範囲、およびイベントが選択されている場合の Application Insights Search の自動更新。
  • [検索] の要求から [コード] に移動します。
  • HockeyApp のサインイン エクスペリエンスが向上しました。

詳細については、Microsoft Azure ドキュメントの テクニカル リリース ノート を参照してください。

デバッグと診断

Update 3 では、HoloLens や IOT を含む OneCore デバイスで実行されているアプリの診断ツールのサポートが追加されました。

C++ の「Edit and Continue」機能における改善:

  • FASTLINK を有効にすると、パフォーマンスと信頼性が向上します。
  • コード変更を静的ライブラリに正常に適用すると、もはや未更新のコードが生成されなくなりました。
  • 再コンパイル中に型変更を誤検知した場合、C4656 警告は表示されなくなります。
  • 同じ名前の新しい型を複数のコンパイル ユニットにまたがって追加するサポート。

XAML UI デバッグの機能強化:

  • アプリでフォーカスが変更されるたびに、ライブ ビジュアル ツリーの新しいフォーカスの追跡機能によって、ライブ ビジュアル ツリーの選択が現在フォーカスされている要素に更新されます。

Visual Studio IDE

サブスクリプションとプロダクト キー

オンライン ID またはプロダクト キーを使用して IDE のロックを解除するサブスクリプションを使用しているお客様からの Update 3 のフィードバックに、次の方法で対処しました。

  • 割り当てられた Visual Studio Cloud サブスクリプションをアクティブ化するために https://my.visualstudio.com にアクセスする必要がなくなり、サブスクリプションが割り当てられたらすぐに Visual Studio IDE の使用を開始できます。
  • プロダクト キーを適用するときのエラー処理が改善されました。
  • すべてのユーザー アカウントとライセンス操作は、HTTPS を使用してセキュリティで保護されるようになりました。
  • サブスクリプションをアクティブ化し、プロダクト キーを入力するための [アカウント設定] ダイアログでアクセシビリティが向上しました。
  • パーソナル化アカウントをアクティブにし、ローミング設定を同期するために、最大 8 日ごとに再認証する必要がなくなりました。

ユニバーサル Windows アプリ用ツール

Visual Studio 2015 Update 3 には、ユニバーサル Windows アプリ用ツールにいくつかの機能強化が追加されています。 重要な機能強化により、Windows ストアに送信するパッケージを作成するときに、AAD ストア アカウントの Azure Active Directory 資格情報を使用してサインインできます。 プロジェクトが Windows ストアに関連付けられると、ストアに送信するパッケージを作成するためにサインインする必要がなくなります。

ユニバーサル Windows アプリ用の .NET ネイティブ

.NET Native 1.4 は、パフォーマンスを向上させ、お客様から報告されたいくつかのバグに対処し、大規模なアプリのリリース ビルドのコンパイル時間を向上させるマイナー サービス リリースです。 .NET Native 1.4 を使用する XAML アプリケーションと Unity ゲームでは、実行時のパフォーマンスが向上します。 これらの改善は、リフレクションとネイティブ API 呼び出しの両方をより高速にすることで実現されました。

アーキテクチャ ツール

パフォーマンスと信頼性の向上に関するお客様からのフィードバックに対処しました。

ドメイン固有のグラフィカル デザイナー (EDMX および DBML を含む)

Windows 10 では、スクリーン キーボードが表示されている間に大きな EDMX または DBML ダイアグラムを開いたり編集しようとしたりしても、Visual Studio が応答しなくなります。

コード マップ

  • ソリューションにインストーラー プロジェクト (.vdproj) が含まれているときに "ソリューションのコード マップを生成する" ときに Visual Studio が応答しなくなりました。
  • コード エディターからコード マップ コマンドを実行し、表示されたらすぐにコード マップ ウィンドウを閉じると、Visual Studio が応答しなくなります。

レイヤーの検証

  • 検証アクションを含むレイヤー図を含むモデリング プロジェクトを含むソリューションをビルドする場合、ビルドの完了後に CPU コアが使用されなくなります。
  • 親モデリング プロジェクトが PCL ライブラリ (たとえば、ODP.Net) を参照しているときに、レイヤーダイアグラムを検証できるようになりました。

Node.js Tools for Visual Studio

Node.js Tools 1.2 RC for Visual Studio が ダウンロードできるようになりました。 このリリースでは、以前のリリースで見られるメモリ不足のクラッシュを減らすなど、安定性とパフォーマンスが大幅に向上することを期待しています。

その他のハイライトは次のとおりです。

  • より高速で優れた ES6 IntelliSense
  • より信頼性の高いデバッグ
  • 単体テストエクスペリエンスの向上 (テープサポートを含む)
  • .npm コマンドを使用できるその他のプロジェクトタイプ

完全な情報とダウンロードについては、 Node.js Tools 1.2 RC リリース ページを参照してください。

Web 開発者ツール

ASP.NET Web アプリケーション プロジェクトの場合、[エディット コンティニュを有効にする] チェック ボックスをオフにすると、デバッグを停止するたびに IIS Express プロセスが停止しなくなります。

Visual C++

C++ コンパイラの新しいチェックや警告メッセージ、C# および Visual Basic コーディングのサポートとパフォーマンスの向上などの機能強化が Update 3 に含まれていました。

C++ コンパイラ

  • ここで、削除されたトリビアルコピー/ムーブコンストラクタのアクセスを確認します。 チェックを行わないと、既定のコピー ctor (実装の形式が正しくない可能性があります) が誤って呼び出され、実行時にコードが正しく生成されない可能性があります。
  • Std::is_convertible これで、コピー コンストラクターが削除またはプライベートになったときに、クラス型の自己代入が正しく検出されるようになりました。
  • 属性付き ATL サポートの廃止を完了する最後のフェーズが Visual Studio 2008 で開始されたので、コンパイラに新しい非推奨の警告が追加されました。 Visual Studio 2015 Update 3 では、属性付き ATL コードを使用すると、on-by-default レベル 1 の警告が生成されます。 C4467
  • PCH ファイルを使用する場合、-Yc コンパイルと -Yu コンパイルの間でコンパイラにディレクトリを含める -I が一致しない場合、新しい警告が生成されるようになりました。 C4599
  • PCH ファイルを使用する場合、-Yc コンパイルと -Yu コンパイルの間にソース ファイル内の #include ディレクティブが一致しない場合、警告が生成されるようになりました。 C4598

これらの変更が既存のコードに与える影響の詳細については、MSDN の Visual C++ 移植およびアップグレード ガイドを 参照してください。

C++ ライブラリ

  • vector<char> のように、Update 2 で後退した自明なオブジェクトの範囲を破棄すると、デバッグ モードのパフォーマンスが復元されました。

  • C++17ワーキングペーパーの提案P0185「[nothrow-]スワップ可能な特性の追加」を基に、スワップ可能な特性を実装しました。 投機的な C++17 機能として、特性 (is_swappableis_swappable_withis_nothrow_swappableis_nothrow_swappable_with) のみが表示され、 std::swap に対する制約は、 /std:c++latestでコンパイルする場合にのみアクティブになります。

  • 以前にプロセスの起動時と dllmain 中に発生した vcruntime140.dll および静的ライブラリからの ETW イベント呼び出しを削除しました。

  • std::vector など、STL コンテナーで使用される一般的な機械のシンボル名の長さを削除し、C4503 警告の可能性を減らしました。 たとえば、次の型では、もはや警告が生成されません: concurrency::concurrent_unordered_map<wstring、vector<pair<uint64_t、vector<uint8_t>>>>。

  • ATL/MFC/AMP/PPL: 2 フェーズルックアップに関連する多くの準拠修正が次のようになされています。

    • _com_ptr_t には、移動コンストラクターと移動代入演算子が含まれています。

    • MFC: 64 ビット アプリケーションでメニューが正しく表示されない場合がある HMENU 値の処理を修正しました。

    • ATL/MFC: 次の警告が出力されなくなりました。

    • 関数のオーバーライド/非表示: C4263、C4264、C4266

    • 例外指定の不一致: C4986

    • /analyze: C6386

    • ATL: AtlThrow のすべてのバリエーションが、 __declspec(noreturn)で適切にマークされるようになりました。 これにより、誤った SAL 警告が出力されるのを防ぐことができます。

    • ATL: いくつかの SAL 注釈を修正/改善しました。

    • /std:c++latest では、次の新機能が有効になります: P0025R1 "clamp()"、P0185R1 "is_swappable, is_nothrow_swappable"、および P0272R1 "Non-const basic_string::data()".

    • /std:c++latest では、次の古い機能の削除も制御されます。N4190 "auto_ptr、random_shuffle()、および旧<functional>関連機能の削除"、P0004R1 "非推奨のIostreams別名の削除"、LWG 2385 "function::assignアロケータ引数は意味をなさない"、およびいくつかの非標準機能 (std::tr1名前空間、一部のTR1専用機構、std::identity構造体)。

    • x86 のアトミック<int64_t>/アトミック<uint64_t> における目に見えない不正なコード生成が修正されました。

    • STL では、絶対に必要な場合を除き、スレッド セーフな "マジック スタティック" の使用が回避され、codegen が改善されました。

    • タプルの完全な転送コンストラクターにより、コピー コンストラクターの競合が回避され、特定のシナリオでのコンパイラ エラーが修正されるようになりました。

  • コルーチン:

    • キーワードの __yield_value__await は非推奨になりました。 co_await / co_yield を代わりに使用します。
    • to_address クラスのメンバーのfrom_promisecoroutine_handleに非推奨の通知を追加しました。 coroutine_handle::to_address() の代わりに coroutine_handle::address() を使用してください。
    • coroutine_handle::from_promise(Promise *P) の代わりに coroutine_handle::from_promise(Promise &P) を使用してください。
  • memcmp と memchr へのディスパッチを積極的に行うことで、 std::equalstd::lexicographical_compare のパフォーマンスが向上し、一部のシナリオでパフォーマンスが大幅に向上しました。 たとえば、64 ビット プラットフォーム上での equal(char,char,char,char) の例です。

    • デバッグ用ビルドは、イテレータデバッグの仕組みにおけるブックキーピング関数呼び出しの数を減らすことで大幅に改善されます。
    • string::push_back はリリース ビルドで Update 2 より 40% 改善され、デバッグ ビルドではさらに大幅に改善されました。 (これは、Update 2 に付属しているパフォーマンスの大幅な向上に加えて行われます)。
    • 述語コピーの数を減らすことで、述語を受け取るすべてのアルゴリズムで、いくつかの種類の空のテンプレート メタプログラミング サポート呼び出し ( _Iter_cat など) を排除することで、すべての標準アルゴリズムのデバッグ ビルドが改善されました。
    • std::mismatch _ITERATOR_DEBUG_LEVEL 1 と 2 の条件下で、反復を始める前に可能な場合は 2 番目の範囲をチェックします。
  • 残りのアルゴリズムに _SCL_INSECURE_DEPRECATE メッセージの改善された診断を適用しました (Update 2 では、少数のアルゴリズムのみが新しい非推奨メカニズムにフックされました)。 これにより、標準アルゴリズムの複数のコピーを宣言する _ITERATOR_DEBUG_LEVEL プリプロセッサの相互作用がなくなったため、標準アルゴリズムにデバッグするときのデバッグ エクスペリエンスも向上します。 また、次の問題も修正しました。

    • 非標準の _ITERATOR_DEBUG_ARRAY_OVERLOADS アルゴリズムとデュアルレンジ アルゴリズム間の相互作用により、不一致 (iter、iter、T[]) などの一部の関数をコンパイルできない問題を修正しました。
  • STL でのデフォルトではオフとなっている警告 C4242 の違反を修正しました。

  • std::pop_heap で発生する可能性のある整数オーバーフローのバグを修正しました。

  • ロケール ロックを保持しているときに CLR によって LoadLibrary 呼び出しが挿入されたため、/clr:pure でハングする可能性が修正されました。

C++/CLI のデバッグ

  • C++/CLI 式エバリュエーターでは、以前は純粋なネイティブ アプリでのみサポートされていた Natvis などのデバッガー機能がサポートされるようになりました。 複合マネージド/ネイティブ アプリで、オブジェクトが変数ウィンドウ (またはデータヒント内) に一覧表示されると、型ビジュアライザーで定義されている純粋ネイティブ アプリと同様に展開されます。

cpp-cli-debug

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

Clang 3.8 リリースを Clang/C2 に統合し、64 ビットのホスト型ツールセットを提供しました。

C++ MDD

最新の Android NDK バージョン R11C のサポートと、最新の NDK を対象とする現在のプロジェクトをアップグレードする機能が有効になりました。

TypeScript

Visual Studio 2015 Update 3 には TypeScript 1.8.34 が含まれています。 AngularJS を使用するいくつかの大規模な TypeScript プロジェクトでメモリ不足エラーが修正されました。

C# と Visual Basic

メモリ占有領域の削減とコード診断のパフォーマンスの向上に投資しました。 これにより、以前のリリースで見られるメモリ不足のクラッシュの多くが削減されます。 ソリューション全体でコード診断を実行するパフォーマンスが向上しました。 コード診断パフォーマンスの強化の詳細については、MSDN の「 方法: マネージド コードの完全なソリューション分析を有効または無効にする 」ページを参照してください。

その他の機能強化は次のとおりです。

  • クイック修正として NuGet パッケージへの参照を追加するオプション:

nuget-bulb

  • [ツール] > [オプション] > [テキスト エディター] > C# > の[詳細設定]で、「ディレクティブの使用」の下にあるこのオプションを有効にすることができます。

plugin-byid

  • .NET Platform Standard を対象とするポータブル クラス ライブラリのサポートが改善されました。
  • C# GoTo 実装とすべての参照の検索にパフォーマンスの向上が追加されました。 オブジェクトを選択して右クリックし、メニューから選択することで、これらを試すことができます。
  • ドキュメント/プロジェクト/ソリューションに "すべて修正" アクションを適用すると、進行状況バーが表示されるようになりました。
  • 大規模なソリューションで C# および VB プロジェクトを再読み込みするときのパフォーマンスが向上しました。 詳細とヒントについては、「 大きなソリューションのパフォーマンスに関する考慮事項」を参照してください。

チーム エクスプローラ

チーム エクスプローラーでいくつかのバグが修正されました。

  • Git リポジトリから削除されたファイルの内容を表示できません。
  • ブランチの履歴を表示する場合、フォーカスが最新のコミットである場合は、[子に移動] アイコンを無効にする必要があります。
  • Git.exeを使用してブランチを変更すると、Visual Studio がクラッシュしたり、不明な状態になったりする可能性があります。
  • Git リポジトリ内のブランチの履歴を表示すると、履歴グラフの強調表示に不具合が発生します。
  • チーム エクスプローラーでブランチを作成すると、[ブランチの作成] の Alt + B ショートカットが [ビルド] メニューと競合します。
  • メモリ使用率が高い状況では、使用可能なメモリより大きいオブジェクトをアンパックしようとすると、メモリ不足エラーではなく、"Object not found - no matching loose object (<sha1>)" というエラーが発生します。
  • エラーメッセージ "...このソリューションを開くために...".
  • ブランチの履歴を表示し、履歴の最初のコミットを右クリックすると、Cherry Pick は無効になります。
  • チーム エクスプローラーのブランチ ページのコンテキスト メニューからプル要求を作成する場合は、選択したブランチではなく現在のブランチを使用します。

Xamarin for Visual Studio

Visual Studio 2015 Update 3 に Xamarin 4.1 が含まれるようになりました。 このリリースでは、多数のバグ修正に加えて、tvOS のサポートが追加され、iOS アセット カタログのサポートが強化され、XML 編集エクスペリエンスが向上し、iOS アプリの作成時に SSL/TLS および HttpClient 実装のセレクターが追加されます。 詳細については、Xamarin のリリース ノートをご覧ください。