次の方法で共有


Visual Studio Icon Visual Studio 2019 バージョン 16.4 リリース ノート


このバージョンの Visual Studio 2019 はサポートされなくなりました。 サポートされている最新バージョンは 16.11 です。 インストールを更新するか 、Visual Studio の最新バージョン にアップグレードして、引き続きサポートされるようにします。

Visual Studio 2019 のすべてのリリース ノートの一覧については、 リリース履歴ページを参照してください。

Important

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


Visual Studio 2019 バージョン 16.4 リリース

Visual Studio 2019 ブログ

Visual Studio 2019 ブログ は、Visual Studio エンジニアリング チームからの製品の分析情報の公式な情報源です。 Visual Studio 2019 リリースの詳細については、次の記事を参照してください。


Visual Studio 2019 バージョン 16.4 で作成されたすべての開発者コミュニティ項目の完全な一覧を参照してください


リリース ノート アイコン Visual Studio 2019 バージョン 16.4.27

リリース日: 2021 年 10 月 12 日

Visual Studio 2019 バージョン 16.4.27 で対処された上位の問題

セキュリティ アドバイザリ メモ

CVE-2021-1971 OpenSSL サービス拒否の脆弱性

Git によって使用される OpenSSL ライブラリに、潜在的なサービス拒否の脆弱性が存在します。

CVE-2021-3449 OpenSSL サービス拒否の脆弱性

Git によって使用される OpenSSL ライブラリに、潜在的なサービス拒否の脆弱性が存在します。

CVE-2021-3450 OpenSSL サービス拒否の脆弱性

潜在的なフラグ バイパスは、Git によって使用される OpenSSL ライブラリに存在します。


リリース ノート アイコン Visual Studio 2019 バージョン 16.4.26

リリース日: 2021 年 9 月 14 日

Visual Studio 2019 バージョン 16.4.26 で対処された上位の問題

セキュリティ アドバイザリ メモ

CVE-2021-26434 Visual Studio での不正なアクセス許可割り当てによる特権の昇格の脆弱性

Visual Studio では、C++ によるゲーム開発をインストールし、Unreal Engine インストーラー ワークロードを選択した後、アクセス許可割り当ての脆弱性が生じます。 システムは、インストール中に LPE に対して脆弱であり、すべてのユーザーへの書き込みアクセス権を持つディレクトリを作成します。

CVE-2021-36952 Visual Studio のリモート コード実行の脆弱性

メモリ内のオブジェクトを適切に処理しない場合、Visual Studio にリモートでコードが実行される脆弱性が存在します。 攻撃者がこの脆弱性を悪用した場合、現在のユーザーのコンテキストで任意のコードを実行する可能性があります。


リリース ノート アイコン Visual Studio 2019 バージョン 16.4.25

''リリース日: 2021 年 8 月 10 日''

Visual Studio 2019 バージョン 16.4.25 で対処された上位の問題

  • update コマンドのコマンド ライン実行に影響していた問題を修正しました。 更新が初めて失敗した場合、それ以降に update コマンドを発行すると、中断した前の操作が更新によって再開されるようになりました。

セキュリティ アドバイザリ メモ

CVE-2021-26423 .NET Core のサービス拒否の脆弱性

WebSocket エンドポイントを提供する .NET (Core) サーバー アプリケーションが、1 つの WebSocket フレームの読み取り中に無限ループに陥る可能性があるサービス拒否の脆弱性が存在します。

CVE-2021-34485 .NET Core の情報漏えいの脆弱性

クラッシュ ダンプの収集ツールによって作成されたダンプと、要求に応じて作成されるダンプが、Linux および macOS でグローバル読み取り権限を持って作成される場合、情報漏えいの脆弱性が存在します。

CVE-2021-34532 ASP.NET のコア情報漏えいの脆弱性

JWT トークンが解析できない場合、ログに記録される情報が漏洩する脆弱性が存在します。


リリース ノート アイコン Visual Studio 2019 バージョン 16.4.24

リリース日: 2021 年 7 月 13 日

Visual Studio 2019 バージョン 16.4.24 で対処された上位の問題

  • Visual Studio 2019 に挿入された .NET 3.1.117 SDK。

リリース ノート アイコン Visual Studio 2019 バージョン 16.4.23

リリース日: 2021 年 6 月 8 日

Visual Studio 2019 バージョン 16.4.23 で修正された上位の問題

セキュリティ アドバイザリ メモ

CVE-2021-31957 ASP.NET サービス拒否の脆弱性

ASP.NET Core がクライアントの切断を不適切に処理すると、サービス拒否の脆弱性が存在します。


リリース ノート アイコン Visual Studio 2019 バージョン 16.4.22

リリース日: 2021 年 5 月 11 日

Visual Studio 2019 バージョン 16.4.22 で修正された上位の問題

  • 管理者が更新プログラムを展開するための Visual Studio の新しいレイアウトを作成すると、更新プログラムが失敗する問題を修正しました。 レイアウトの場所が移動されたため、クライアント コンピューターの更新は失敗します。

セキュリティ アドバイザリ メモ

CVE-2021-27068 入れ子になったフォルダーに python.exe を植えるときに可能な RCE

Python コードを使用してワークスペースを開くと、リモートでコードが実行される脆弱性が存在し、そのワークスペースにスクリプト サブフォルダーに python.exe が含まれます。

CVE-2021-31204 .NET Core の特権の昇格の脆弱性

ユーザーが Linux または macOS に基づいてオペレーティング システム上で 1 つのファイル アプリケーションを実行すると、.NET 5.0 と .NET Core 3.1 に特権の昇格の脆弱性が存在します。


リリース ノート アイコン Visual Studio 2019 バージョン 16.4.21

リリース日: 2021 年 4 月 13 日

Visual Studio 2019 バージョン 16.4.21 で修正された上位の問題

セキュリティ アドバイザリ メモ

CVE-2021-27064 Visual Studio インストーラーの特権の昇格の脆弱性

Visual Studio インストーラーが昇格された状態でフィードバック クライアントを実行すると、リモートでコードが実行される脆弱性が存在します。

CVE-2021-28313 / CVE-2021-28321 / CVE-2021-28322 Diagnostics Hub 標準コレクターサービスにおける特権昇格の脆弱性

Diagnostics Hub Standard Collector がデータ操作を誤って処理すると、特権の昇格の脆弱性が存在します。


リリース ノート アイコン Visual Studio 2019 バージョン 16.4.20

リリース日: 2021 年 3 月 9 日

Visual Studio 2019 バージョン 16.4.20 で修正された上位の問題

セキュリティ アドバイザリ メモ

CVE-2021-21300 Git for Visual Studio のリモート コード実行の脆弱性

Visual Studio が悪意のあるリポジトリを複製すると、リモートでコードが実行される脆弱性が存在します。

CVE-2021-26701 .NET Core のリモート コード実行の脆弱性

テキスト エンコードの実行方法により、.NET 5 と .NET Core にリモートでコードが実行される脆弱性が存在します。


リリース ノート アイコン Visual Studio 2019 バージョン 16.4.19

リリース日: 2021 年 2 月 10 日

Visual Studio 2019 バージョン 16.4.19 で修正された上位の問題


リリース ノート アイコン Visual Studio 2019 バージョン 16.4.18

リリース日: 2021 年 2 月 9 日

Visual Studio 2019 バージョン 16.4.18 で修正された上位の問題

セキュリティ アドバイザリ メモ

CVE-2021-1639 TypeScript Language Service のリモート コード実行の脆弱性

Visual Studio が JavaScript または TypeScript コード ファイルを含む悪意のあるリポジトリを読み込むと、リモートでコードが実行される脆弱性が存在します。

CVE-2021-1721 .NET Core のサービス拒否の脆弱性

X509 証明書チェーンの構築中に HTTPS Web 要求を作成するときに、サービス拒否の脆弱性が存在します。

CVE-2021-24112 .NET 5 と .NET Core のリモート コード実行の脆弱性

グラフィックス インターフェイスにまだ参照がある場合にメタファイルを破棄するときに、リモートでコードが実行される脆弱性が存在します。 この脆弱性は、MacOS または Linux で実行されているシステムにのみ存在します。


リリース ノート アイコン Visual Studio 2019 バージョン 16.4.17

リリース日: 2020 年 1 月 12 日

Visual Studio 2019 バージョン 16.4.17 で修正された上位の問題

セキュリティ アドバイザリ メモ

CVE-2021-1651 / CVE-2021-1680 Diagnostics Hub Standard Collector サービスの特権の昇格の脆弱性

Diagnostics Hub Standard Collector がデータ操作を誤って処理すると、特権の昇格の脆弱性が存在します。

CVE-2020-26870 Visual Studio インストーラーのリモート コード実行の脆弱性

Visual Studio インストーラーが悪意のあるマークダウンを表示しようとすると、リモートでコードが実行される脆弱性が存在します。

CVE-2021-1723 .NET Core と Visual Studio のサービス拒否の脆弱性

Kestrel の実装には、サービス拒否の脆弱性が存在します。


リリース ノート アイコン Visual Studio 2019 バージョン 16.4.16

リリース日: 2020 年 12 月 8 日

Visual Studio 2019 バージョン 16.4.16 で修正された上位の問題

セキュリティ アドバイザリ メモ

CVE-2020-17156 Visual Studio のリモート コード実行の脆弱性

Visual Studio が悪意のあるリポジトリを複製すると、リモートでコードが実行される脆弱性が存在します。


リリース ノート アイコン Visual Studio 2019 バージョン 16.4.15

リリース日: 2020 年 11 月 10 日

Visual Studio 2019 バージョン 16.4.15 で修正された上位の問題

セキュリティ アドバイザリ メモ

CVE-2020-17100 Visual Studio の改ざんの脆弱性

Python Tools for Visual Studio が python27 フォルダーを作成すると、改ざんの脆弱性が存在します。 攻撃者がこの脆弱性を悪用した場合、昇格されたコンテキストでプロセスを実行する可能性があります。


リリース ノート アイコン Visual Studio 2019 バージョン 16.4.14

リリース日: 2020 年 10 月 13 日

Visual Studio 2019 バージョン 16.4.14 で修正された上位の問題

  • 特定の Intel プロセッサに対する JCC エラーのパフォーマンスへの影響を軽減するためのオプトイン フラグを追加しました。
  • PGO MEMMAX スイッチは、ユーザー入力が尊重される可能性が高い方法で動作する必要があります。
  • PGO プロファイル用に予約されているメモリの量が削減されました。
  • .NET Core 2.1.13 ランタイムと 3.1.109 SDK (3.1.9) が Visual Studio 2019 に追加されました。

リリース ノート アイコン Visual Studio 2019 バージョン 16.4.13

リリース日: 2020 年 9 月 8 日

Visual Studio 2019 バージョン 16.4.13 で修正された上位の問題

セキュリティ アドバイザリ メモ

CVE-2020-1130 Diagnostics Hub Standard Collector の特権昇格脆弱性

Diagnostics Hub Standard Collector がデータ操作を不適切に処理すると、特権の昇格の脆弱性が存在します。 攻撃者がこの脆弱性を悪用した場合、昇格されたコンテキストでプロセスを実行する可能性があります。

CVE-2020-1133 Diagnostics Hub Standard Collector の特権昇格の脆弱性

Diagnostics Hub Standard Collector がファイル操作を不適切に処理すると、特権の昇格の脆弱性が存在します。 攻撃者がこの脆弱性を悪用した場合、昇格されたコンテキストでプロセスを実行する可能性があります。

CVE-2020-16856 Visual Studio のリモート コード実行の脆弱性

メモリ内のオブジェクトを適切に処理しない場合、Visual Studio にリモートでコードが実行される脆弱性が存在します。 攻撃者がこの脆弱性を悪用した場合、現在のユーザーのコンテキストで任意のコードを実行する可能性があります。

CVE-2020-16874 Visual Studio のリモート コード実行の脆弱性

メモリ内のオブジェクトを適切に処理しない場合、Visual Studio にリモートでコードが実行される脆弱性が存在します。 攻撃者がこの脆弱性を悪用した場合、現在のユーザーのコンテキストで任意のコードを実行する可能性があります。

CVE-2020-1045 Microsoft ASP.NET コア セキュリティ機能バイパスの脆弱性

Microsoft ASP.NET Core がエンコードされた Cookie 名を解析する方法に、セキュリティ機能バイパスの脆弱性が存在します。 ASP.NET Core Cookie パーサーは、Cookie 文字列全体をデコードします。これにより、悪意のある攻撃者は、名前がパーセントエンコードされた 2 つ目の Cookie を設定する可能性があります。

16.4.13 の追加の修正

  • C++ ビルドをキャンセルした後に Visual Studio または MSBuild の応答が停止する場合がある問題を修正しました。
  • サポート対象外のバージョンの .NET Core は、Visual Studio のセットアップの外部で削除された場合、修復またはアップグレード中に再インストールされなくなります。

リリース ノート アイコン Visual Studio 2019 バージョン 16.4.12

リリース日: 2020 年 8 月 11 日

Visual Studio 2019 バージョン 16.4.12 で修正された上位の問題

セキュリティ アドバイザリ メモ

CVE-2020-1597

ASP.NET Core が Web 要求を不適切に処理すると、サービス拒否の脆弱性が存在します。 攻撃者がこの脆弱性を悪用すると、ASP.NET Core Web アプリケーションに対してサービス拒否が発生する可能性があります。 この脆弱性は、認証なしでリモートで悪用される可能性があります。


リリース ノート アイコン Visual Studio 2019 バージョン 16.4.11

リリース日: 2020 年 7 月 14 日

Visual Studio 2019 バージョン 16.4.11 で修正された上位の問題

セキュリティ アドバイザリ メモ

CVE-2020-1393 Diagnostics Hub Standard Collector サービスの権限昇格脆弱性

Windows Diagnostics Hub Standard Collector Service が入力を適切にサニタイズできず、安全でないライブラリ読み込み動作が発生すると、特権の昇格の脆弱性が存在します。

CVE-2020-1416 Visual Studio の特権の昇格の脆弱性

Visual Studio でソフトウェアの依存関係を読み込むときに、特権の昇格の脆弱性が存在します。

CVE-2020-1147 .NET Core のサービス拒否の脆弱性

認証されていないリモートの攻撃者は、ASP.NET Core アプリケーション、または特定の種類の XML を解析する他のアプリケーションに特別に細工された要求を発行することにより、この脆弱性を悪用する可能性があります。 このセキュリティ更新プログラムは、XML ペイロードに存在することが許可されている型を制限することで、この脆弱性を解決します。


リリース ノート アイコン Visual Studio 2019 バージョン 16.4.10

リリース日: 2020 年 6 月 9 日

Visual Studio 2019 バージョン 16.4.10 で修正された上位の問題

  • setjmp の後に間違った値が復元される可能性があるバグを修正しました。

セキュリティ アドバイザリ メモ

CVE-2020-1108 / CVE-2020-1108.NET Core のサービス拒否の脆弱性

CVE-2020-1108 に包括的に対処するために、Microsoft は .NET Core 2.1 と .NET Core 3.1 の更新プログラムをリリースしました。 これらのバージョンの .NET Core を使用しているお客様は、最新バージョンの .NET Core をインストールする必要があります。 .NET Core を更新する場合の最新のバージョン番号と手順については、リリース ノートを参照してください。

CVE-2020-1202 / CVE-2020-1203 Diagnostics Hub Standard Collector サービスの特権の昇格の脆弱性

Diagnostics Hub Standard Collector または Visual Studio Standard Collector がメモリ内のオブジェクトを適切に処理できない場合、特権の昇格の脆弱性が存在します。

CVE-2020-1293 / CVE-2020-1278 / CVE-2020-1257 Diagnostics Hub Standard Collector サービスの特権の昇格の脆弱性

Diagnostics Hub Standard Collector Service がファイル操作を不適切に処理すると、特権の昇格の脆弱性が存在します。


リリース ノート アイコン Visual Studio 2019 バージョン 16.4.9

リリース日: 2020 年 5 月 27 日

Visual Studio 2019 バージョン 16.4.9 で修正された上位の問題

  • これにより、最適化によって使用される分析のキャッシュバグが修正されます。これは、誤って不要とマークされた命令を削除することによる影響です。 修正は、古いデータをキャッシュに格納してしまうケースを見つけることです。 このマニフェストのタイミングを完全に特徴付けるのは困難ですが、レポートではループ内のインデックスに対する剰余演算子でした。 今後、特定の最適化を完全にオフにするために、(サポートされていない) /d2ssa-bit-estimator- フラグを追加しました。 このフラグは修正プログラムと共に追加され、以前のバージョンには存在しません。
  • 特定の Intel プロセッサでの Intel ジャンプ条件付きコード (JCC) のエラー マイクロコード更新によって引き起こされるパフォーマンスへの影響を軽減するためのサポートを追加しました。
  • ラムダ ローカル変数によって発生するコード分析中の cl.exe での C6244 の誤った警告とクラッシュが修正されました。
  • OFFICE コードに対して実行されている PREfast 16.5 の ICE

リリース ノート アイコン Visual Studio 2019 バージョン 16.4.8

リリース日: 2020 年 5 月 12 日

Visual Studio 2019 バージョン 16.4.8 で修正された上位の問題

  • エンタープライズ IT 管理者と展開エンジニアが Microsoft Update クライアントや SCCM などのツールを構成して、Microsoft Update カタログと WSUS でホストされている VS2019 16.4 更新プログラムの適用性を判断できるようにする変更を追加します。

セキュリティ アドバイザリ メモ

CVE-2020-1108 .NET Core のサービス拒否の脆弱性

認証を受けていないリモートの攻撃者が、特別に作成された要求を .NET Core アプリケーションに発行して、この脆弱性を悪用する可能性があります。 このセキュリティ更新プログラムは、.NET Core Web アプリケーションが Web 要求を処理する方法を修正することで、この脆弱性を解決します。

CVE-2020-1161 .NET Core のサービス拒否の脆弱性

認証を受けていないリモートの攻撃者が、特別に作成された要求を ASP.NET Core アプリケーションに発行して、この脆弱性を悪用する可能性があります。 このセキュリティ更新プログラムは、ASP.NET Core Web アプリケーションが Web 要求を処理する方法を修正することにより、この脆弱性を解決します。


リリース ノート アイコン Visual Studio 2019 バージョン 16.4.7

リリース日: 2020 年 4 月 14 日

Visual Studio 2019 バージョン 16.4.7 で修正された上位の問題

セキュリティ アドバイザリ メモ

CVE-2020-0899 Microsoft Visual Studio の特権の昇格の脆弱性

Microsoft Visual Studio アップデーター サービスがファイルのアクセス許可を正しく処理しない場合、特権の昇格の脆弱性が存在します。 攻撃者がこの脆弱性を悪用した場合、ローカル システムのセキュリティ コンテキストで任意のファイル コンテンツが上書きされる可能性があります。

CVE-2020-0900 Visual Studio 拡張機能インストーラー サービスの特権の昇格の脆弱性

Visual Studio 拡張機能インストーラー サービスがファイル操作を正しく処理しない場合、特権の昇格の脆弱性が存在します。 攻撃者がこの脆弱性を悪用した場合、昇格されたアクセス許可を持つ任意の場所にあるファイルを削除する可能性があります。

CVE-2020-5260 URL の検証が不十分なため、Git for Visual Studio の資格情報リークの脆弱性

特別に細工された URL が解析され、資格情報ヘルパーに送信されると、資格情報リークの脆弱性が存在します。 これにより、資格情報が間違ったホストに送信される可能性があります。


リリース ノート アイコン Visual Studio 2019 バージョン 16.4.6

リリース日: 2020 年 3 月 10 日

Visual Studio 2019 バージョン 16.4.6 で修正された上位の問題

セキュリティ アドバイザリ メモ

CVE-2020-0793 & CVE-2020-0810 Diagnostics Hub Standard Collector Service の特権昇格の脆弱性

Diagnostics Hub Standard Collector がファイル操作を正しく処理しない場合、または Windows Diagnostics Hub Standard Collector Service が入力を適切にサニタイズできない場合、特権の昇格の脆弱性が存在します。

CVE-2020-0884 Outlook Web アドインを作成するときのスプーフィングの脆弱性

多要素認証が有効になっている場合、Outlook Web-Addin を作成するときにスプーフィングの脆弱性が存在します。これには、SSL で保護されていない応答 URL が含まれます。 攻撃者がこの脆弱性を悪用した場合、アクセス トークンが侵害され、セキュリティとプライバシーのリスクが公開される可能性があります。

CVE-2020-0789 Visual Studio 拡張機能インストーラー サービスのサービス拒否の脆弱性

Visual Studio 拡張機能インストーラー サービスがハード リンクを正しく処理しない場合、サービス拒否の脆弱性が存在します。 攻撃者がこの脆弱性を悪用した場合、ターゲット システムが応答を停止する可能性があります。


リリース ノート アイコン Visual Studio 2019 バージョン 16.4.5

リリース日: 2020 年 2 月 11 日

Visual Studio 2019 バージョン 16.4.5 で修正された上位の問題


リリース ノート アイコン Visual Studio 2019 バージョン 16.4.4

リリース日: 2020 年 1 月 30 日

Visual Studio 2019 バージョン 16.4.4 で修正された上位の問題


リリース ノート アイコン Visual Studio 2019 バージョン 16.4.3

リリース日: 2020 年 1 月 14 日

セキュリティ アドバイザリ メモ

CVE-2020-0602 ASP.NET のコアサービス拒否の脆弱性

認証を受けていないリモートの攻撃者が、特別に作成された要求を ASP.NET Core アプリケーションに発行して、この脆弱性を悪用する可能性があります。 このセキュリティ更新プログラムは、ASP.NET Core Web アプリケーションが Web 要求を処理する方法を修正することにより、この脆弱性を解決します。

CVE-2020-0603 ASP.NET Core のリモート コード実行の脆弱性

認証を受けていないリモートの攻撃者が、特別に作成された要求を ASP.NET Core アプリケーションに発行して、この脆弱性を悪用する可能性があります。 このセキュリティ更新プログラムは、ASP.NET Core Web アプリケーションがメモリ内でどのように処理するかを修正することで、この脆弱性を解決します。

CVE-2020-0605 .NET Core のリモート コード実行の脆弱性

この脆弱性を悪用するには、影響を受けるバージョンの .NET Core で特別に細工されたファイルをユーザーが開く必要があります。 電子メール攻撃のシナリオでは、攻撃者は特別に細工されたファイルをユーザーに送信し、ユーザーにファイルを開くよう誘導することで、この脆弱性を悪用する可能性があります。このセキュリティ更新プログラムは、.NET Core がファイルのソース マークアップをチェックする方法を修正することで、この脆弱性を解決します。

CVE-2020-0606 .NET Core のリモート コード実行の脆弱性

この脆弱性を悪用するには、影響を受けるバージョンの .NET Core で特別に細工されたファイルをユーザーが開く必要があります。 電子メール攻撃のシナリオでは、攻撃者は特別に細工されたファイルをユーザーに送信し、ユーザーにファイルを開くよう誘導することで、この脆弱性を悪用する可能性があります。このセキュリティ更新プログラムは、.NET Core がファイルのソース マークアップをチェックする方法を修正することで、この脆弱性を解決します。

Visual Studio 2019 バージョン 16.4.3 で修正された上位の問題


リリース ノート アイコン Visual Studio 2019 バージョン 16.4.2

リリース日: 2019 年 12 月 17 日

Visual Studio 2019 バージョン 16.4.2 で修正された上位の問題


リリース ノート アイコン Visual Studio 2019 バージョン 16.4.1

リリース日: 2019 年 12 月 10 日

Visual Studio 2019 バージョン 16.4.1 で修正された上位の問題

セキュリティ アドバイザリ メモ

CVE-2019-1349 サブモジュール名の制限が緩すぎるため、Git for Visual Studio のリモート実行の脆弱性

Git が兄弟サブモジュールのディレクトリのサブモジュール名の競合に陥ると、リモートでコードが実行される脆弱性が存在します。 攻撃者がこの脆弱性を悪用した場合、ターゲット コンピューター上でコードがリモートで実行される可能性があります。 このセキュリティ更新プログラムは、サブモジュールの複製を空にするディレクトリを必要とする新しいバージョンの Git for Windows を使用して、この脆弱性を解決します。

CVE-2019-1350 Visual Studio におけるリモート実行の脆弱性は、コマンド ライン引数の引用符が正しく記述されていないことが原因で発生します

GIT が SSH URL と組み合わせて再帰クローン中に特定の引用符で囲まれたコマンドライン引数を解釈すると、リモートでコードが実行される脆弱性が存在します。 攻撃者がこの脆弱性を悪用した場合、ターゲット コンピューター上でコードがリモートで実行される可能性があります。 このセキュリティ更新プログラムは、問題を修正する新しいバージョンの Git for Windows を使用して、この脆弱性を解決します。

CVE-2019-1351 Git for Visual Studio の複製中に文字以外のドライブ名が使用されるための任意のファイル上書きの脆弱性

非文字ドライブ名が git cloneの安全性チェックをバイパスする場合、Git に任意のファイル上書きの脆弱性が存在します。 攻撃者がこの脆弱性を悪用した場合、ターゲット コンピューター上の任意のファイルに書き込む可能性があります。 このセキュリティ更新プログラムは、問題を修正する新しいバージョンの Git for Windows を使用して、この脆弱性を解決します。

CVE-2019-1352 NTFS 代替データ ストリームが認識されないために発生する Git for Visual Studio リモート実行の脆弱性

NTFS 代替データ ストリームを使用して .git/ ディレクトリに複製および書き込みを行う際に、Git にリモートコード実行の脆弱性が存在します。 攻撃者がこの脆弱性を悪用した場合、ターゲット コンピューター上でコードがリモートで実行される可能性があります。 このセキュリティ更新プログラムは、NTFS 代替データ ストリームを認識している新しいバージョンの Git for Windows を使用して、この脆弱性を解決します。

CVE-2019-1354 Git for Visual Studio のバックスラッシュを含む追跡対象ファイルの書き込みを拒否しないことによる任意のファイルの上書きの脆弱性

バックスラッシュと悪意のあるシンボリックリンクを含むツリー エントリが作業ツリーから抜け出す可能性がある場合、Git に任意のファイル上書きの脆弱性が存在します。 攻撃者がこの脆弱性を悪用した場合、ターゲット コンピューター上の任意のファイルに書き込む可能性があります。 このセキュリティ更新プログラムは、このバックスラッシュの使用を許可しない新しいバージョンの Git for Windows を使用することで、この脆弱性を解決します。

CVE-2019-1387 Git for Visual Studio のリモート実行の脆弱性。再帰クローンのサブモジュール名の検証が緩すぎるため、

サブモジュールを使用して再帰的に複製する場合、Git にリモートでコードが実行される脆弱性が存在します。 攻撃者がこの脆弱性を悪用した場合、ターゲット コンピューター上でコードがリモートで実行される可能性があります。 このセキュリティ更新プログラムは、サブモジュール名の検証を強化する新しいバージョンの Git for Windows を使用して、この脆弱性を解決します。

CVE-2019-1486 Live Share 拡張機能の URL リダイレクトの脆弱性

Live Share セッションに接続されているゲストがセッション ホストによって指定された任意の URL にリダイレクトされたときに、Visual Studio Live Share 拡張機能でスプーフィングの脆弱性が検出されました。 攻撃者はこの脆弱性を悪用し、ゲストのコンピューターがブラウザーを開き、明示的な同意なしに悪意のある URL に移動する可能性があります。 これは、アクティブな Live Share セッション中に自動ポート転送を許可する Live Share の "共有サーバー" 機能の一部でした。 最新の更新プログラムは、ホスト指定の URL を参照する前に Live Share ゲストに同意を求めることで、この脆弱性を解決します。


リリース ノート アイコン Visual Studio 2019 バージョン 16.4

リリース日: 2019 年 12 月 3 日

Visual Studio 2019 バージョン 16.4 の新機能の概要

  • Visual Studio で "FIPS コンプライアンス モード" がサポートされるようになりました
  • XAML デザイナーのズーム/位置がデフォルトで「全体表示」になりました。
  • [データ バインディングの作成] ダイアログが追加されました。
  • IntelliSense 領域の機能強化
  • XAML IntelliSense のスニペット
  • デザイナーとは別のウィンドウとしてのポップアップ XAML エディター
  • 参照アセンブリのリソースの表示
  • ライブ ビジュアル ツリーの Just My XAML
  • マージ リソース ディクショナリ
  • XAML Islands のサポート
  • テンプレートの編集がサード パーティ製コントロールの controsl で動作するようになりました。
  • Clang-Tidy Clang と MSVC の両方について、C++ MSBuild および CMake プロジェクトでサポートされます。
  • Windows 上の MSVC でコンパイルされたプロジェクトの AddressSanitizer のサポート
  • ローカル Git リポジトリを GitHub に発行するためのサポート。
  • 縦書き文書タブを使用して、文書のタブを垂直レイアウトに変更 します
  • このリリースでの .NET Productivity の追加機能には、エラー 一覧でコード スタイル ルールの重大度レベルを直接構成する機能、すべての参照を検索するオプション、型とメンバーでグループ化するオプション、ローカル関数を静的にし、関数の外部で定義された変数を関数の宣言と呼び出しに渡すリファクタリングが含まれています。
  • 新しい ピン留め可能なプロパティ 機能を使用して、デバッガー ウィンドウでのオブジェクトの表示方法をすばやくカスタマイズします。
  • コンテナー ツール ウィンドウ では、Docker コンテナーとイメージを検査、停止、開始、および削除する機能が追加されました
  • ツールウィンドウを自動的に非表示にしてスタートアップパフォーマンスを向上させるオプション
  • 発行依存関係を管理するとき、または接続済みサービスを使用する場合の SQL Server 接続文字列と Azure Storage 接続文字列の自動検出
  • 64 ビット ランタイムを使用して Azure Functions を開発するためのサポートを追加しました。
  • .NET Core 3.0 アプリ発行オプションのサポートを追加しました:実行準備完了 (Crossgen)、リンク、SingleExe
  • このリリースでの .NET Productivity の追加には、エディターを介してコード スタイル ルールの重大度レベルを直接構成する機能、新しい [ベースに移動] コマンドを使用して継承チェーンを簡単に移動する機能、すべてのパラメーターの null チェックを追加する機能、およびメソッドをオーバーライドするための XML ドキュメントが含まれます。
  • Xamarin.Forms の XAML ホット リロード
  • Android アプリ バンドルの発行
  • AndroidX 移行ウィザード
  • Android レイアウト リンティング

Visual Studio 2019 バージョン 16.4 の新機能の詳細

Visual Studio で "FIPS コンプライアンス モード" がサポートされるようになりました

バージョン 16.4 以降、Visual Studio 2019 では、Windows、Azure、および .NET 用のアプリとソリューションを開発するときに 、"FIPS 140-2 コンプライアンス モード" がサポートされるようになりました。 Linux、iOS、Android などの Microsoft 以外のプラットフォーム用のアプリまたはソリューションを開発している場合、これらのプラットフォームでは FIPS 140-2 承認アルゴリズムを使用しない可能性があります。 Visual Studio またはインストールする拡張機能に含まれるサード パーティ製ソフトウェアでも、FIPS 140-2 承認アルゴリズムを使用できない場合があります。 さらに、 SharePoint ソリューションの開発 では、FIPS 140-2 コンプライアンス モードはサポートされていません。

Visual Studio 用に FIPS 140-2 コンプライアンス モードを構成するには、.NET Framework 4.8 をインストールし、Windows グループ ポリシー設定 "システム暗号化: 暗号化、ハッシュ、署名に FIPS 準拠アルゴリズムを使用する" を有効にします。

WPF/UWP ツール

WPF/UWP アプリケーションをビルドしているお客様には、Visual Studio XAML ツールで次の機能強化が行われます。

デザイナー

  • XAML デザイナーのズーム/位置が既定で [すべて収まる] に設定されるようになりました。 お客様からのフィードバックに基づいて、XAML ウィンドウ/ページ/コントロールなどを開いたときに発生する既定の XAML デザイナーのズーム動作を再評価しました。以前の経験では、Visual Studio セッション全体で各ファイルのズーム レベルと位置が格納されていました。これにより、しばらく経ってからお客様がファイルに戻ってくるときに混乱が発生しました。 このリリース以降では、アクティブなセッションの期間中のズーム レベルと位置のみを格納し、Visual Studio が再起動されると "すべて適合" の既定値に戻ります。
  • [データ バインディングの作成] ダイアログ: Visual Studio には、XAML デザイナーとプロパティ エクスプローラーの右クリックから WPF .NET Framework 開発者が使用できるデータ バインディング ダイアログが用意されており、このダイアログは以前は UWP 開発者も使用できました。 このリリースでは、このエクスペリエンスを UWP 開発者に戻し、WPF .NET Core アプリケーションのサポートを追加します。 この機能はまだ開発中であり、.NET Framework ダイアログ機能と同等の機能を取り戻すために、今後も改善を続けます。

XAML エディター

  • #regions IntelliSense の機能強化: Visual Studio 2015 以降では、WPF および UWP XAML 開発者、および Xamarin.Forms 向けのより最近の #region サポートが利用できるようになりました。 このリリースでは IntelliSense のバグを修正しました。この修正により、<! と入力し始めると #regions が正しく表示されるようになりました。
  • XAML IntelliSense のスニペット: IntelliSense は XAML スニペットの表示をサポートするように強化されました。これは、組み込みのスニペットと、手動で追加するすべてのカスタム スニペットの両方で機能します。 このリリース以降では、すぐに使える XAML スニペット (#region、列定義、行定義、セッター、タグ) も含まれています。
  • デザイナーとは別のウィンドウとして XAML エディターをポップアップ表示します。 XAML タブの横にある新しいポップアップ XAML ボタンを使用して、XAML デザイナーとその基になる XAML エディターを別のウィンドウに簡単に分割できるようになりました。XAML デザイナーをクリックすると、アタッチされた XAML タブが最小化され、XAML エディター ビュー専用の新しいウィンドウが開きます。 この新しいウィンドウは、Visual Studio の任意の表示またはタブ グループに移動できます。 元の XAML ビューは引き続き展開できますが、同じファイルのすべての XAML ビューに関係なく、リアルタイムで同期が維持されることに注意してください。
XAML コード ウィンドウをポップアップ表示する
XAML コード ウィンドウをポップアップ表示する
  • 参照されるアセンブリのリソースの表示: XAML IntelliSense が更新され、WPF Framework および WPF .NET Core プロジェクトの参照アセンブリからの XAML リソースの表示がサポートされました (ソースが使用できない場合)。

XAML デバッグ ツール

  • ライブ ビジュアル ツリーのマイ XAML のみ: ライブ ビジュアル ツリーは、デバッグ モードでアプリケーションを実行するときに UWP 開発者と WPF 開発者の両方が利用できる機能であり、XAML ホット リロードに関連するライブ編集ツールの一部です。 以前は、この機能では、アタッチされている実行中のアプリケーションの完全なライブ ビジュアル ツリーが表示され、アプリで記述した XAML のみを表示できるフィルターはありません。 これは非常に騒々しいエクスペリエンスのために行われ、お客様からのフィードバックに基づいて、"Just My XAML" という新しい既定値が追加されました。これにより、ツリーはアプリケーションで記述したコントロールのみに制限されます。 これは新しい既定値ですが、tine Live Visual Tree 自体内のボタンまたは新しい設定 ([オプション] > [デバッグ] > [全般] > [マイ XAML のみを有効にする] の下にあります) を使用して、以前の動作に戻すこともできます。
ライブ ビジュアル ツリーで自分の XAML のみを表示する
ライブ ビジュアル ツリーで自分の XAML のみを表示する

リソースとテンプレート

  • マージ リソース ディクショナリ: ソリューション エクスプローラーで使用できる新機能を使用して、UWP/WPF プロジェクト内の既存のリソース ディクショナリを任意の有効な XAML ファイルと簡単にマージできるようになりました。 マージ ステートメントを追加する XAML ファイルを開き、マージするファイルを見つけて、ソリューション エクスプローラーで右クリックするだけです。 コンテキスト メニューで、[Merge Resource Dictionary Into Active Window]\(リソース ディクショナリをアクティブ ウィンドウにマージする\) オプションを選択します。このオプションを選択すると、適切なマージ XAML とパスが追加されます。
マージ リソース ディクショナリ
マージ リソース ディクショナリ
  • テンプレートの編集が、サード パーティ製コントロールのコントロールで動作するようになりました。 ソース コードとしてソリューションに含まれていない場合でも、コントロール テンプレートのコピーを作成できるようになりました。 この変更により、"テンプレートの編集" 機能が使用可能になり、ソースが現在使用できるファースト パーティ要素の場合と同様に機能します。 この機能は、サード パーティのコントロール ライブラリと、ソースが使用できないファースト パーティの両方に適用されることに注意してください。

XAML Islands:

  • XAML Island のサポートの強化: Windows フォームおよび WPF .NET Core 3 アプリの XAML Islands シナリオのサポートが追加され、これらのアプリケーションに UWP XAML コントロールを簡単に追加できるようになりました。 これらの機能強化により、.NET Core 3 プロジェクトは、カスタム UWP XAML コントロールを含む UWP プロジェクトへの参照を行うことができます。 これらのカスタム コントロールは、Windows Community Toolkit v6 (Microsoft.Toolkit.Wpf.UI.XamlHost v6.0) 内に付属している WindowsXamlHost コントロールで使用できます。 Windows アプリケーション パッケージ プロジェクトを使用して、.NET Core 3 with Islands 用の MSIX を生成することもできます。 使用を開始する方法については、 ドキュメントを参照してください

C++

  • コード分析では、Clang または MSVC ツールセットを使用しているかどうかに関係なく、MSBuild プロジェクトと CMake プロジェクトの両方で Clang-Tidy がネイティブにサポートされるようになりました。 clang-tidy チェックは、バックグラウンド コード分析の一部として実行し、エディター内警告 (波線) として示し、エラー一覧に表示できます。
エラー一覧内のClang-Tidy警告
エラー一覧のClang-Tidy警告
  • クロスプラットフォームの開発を開始するのに役立つ概要ページが Visual Studio CMake プロジェクトに追加されました。 これらのページを使用すると、Linux システムに接続し、ご利用の CMake プロジェクトに Linux または WSL 構成を追加するのが楽になります。
CMake の概要ページ
CMake の概要ページ
  • CMake プロジェクトの起動ドロップダウン メニューに、最近使用したターゲットが表示され、フィルター処理できるようになりました。
  • C++/CLI では、Windows 用の .NET Core 3.1 以降との相互運用がサポートされるようになりました。
  • メモリ エラーの検出に役立つ C++ コードのランタイム インスツルメンテーションのために、Windows 上の MSVC でコンパイルされたプロジェクトに対して ASan を有効にできるようになりました。
  • MSVC の C++ 標準ライブラリの更新:
    • C++17:to_chars() の一般的精度が実装され、P0067R5 の基本文字列変換 (charconv) が完了しました。 これにより、C++17 標準のすべてのライブラリ機能の実装が完了します。
    • C++20:P1754R1 の名前変更概念が standard_case に実装されました。 最新の C++ 作業ドラフトのプレビュー機能を含めるには、コンパイラ フラグ /std:c++latestを使用します。フラグは、C++ 言語標準プロパティを使用して C/C++ > 言語プロジェクト プロパティ ページで設定することもできます。
  • C++ Build Insights という名前のツールの新しいコレクションが利用できるようになりました。 詳細については、 C++ チームブログ を参照してください。

GitHub サポートに公開する

  • GitHub Extension for Visual Studio の一部であった GitHub への発行機能が、Visual Studio の GitHub Essentials に含まれるようになりました。
  • チーム エクスプローラーの同期ページの [GitHub に発行] ボタンを使用して、ローカル Git リポジトリを GitHub に発行できるようになりました。

Visual Studio の縦書きドキュメント タブ

エディターの左側または右側の垂直リストでドキュメント タブを管理します。

エディターの左側または右側の垂直リストでドキュメント タブを管理する
Visual Studio の縦書きドキュメント タブ

ピン留め可能なプロパティ デバッグ ツール

ピン留め可能なプロパティ機能を使用して、プロパティをデータヒントの上部またはウォッチ ウィンドウ、自動ウィンドウ、ローカル ウィンドウにピン留めすることで、デバッグ時にオブジェクトをすばやく識別して検査できるようになりました。

ピン留め可能なプロパティ機能を使用してプロパティをピン留めして、オブジェクトを識別および検査する
Visual Studio のピン留め可能なプロパティ

コンテナー ツール ウィンドウ

  • コンテナーの一覧表示、検査、停止、開始、および削除を行うことができます
  • コンテナーを実行するためのログとファイルの内容を表示したり、コンテナーにターミナル ウィンドウを開いたりすることができます
  • 画像の表示、検査、削除を行うことができます
コンテナー ツール ウィンドウを使用して、コンテナーの一覧表示、検査、停止、開始、および削除を行うことができます。
Visual Studio のコンテナー ツール ウィンドウ

自動的に隠すツールウィンドウ

このプレビュー機能オプションを有効にすると、複数のツール ウィンドウを開いた状態で Visual Studio を起動することで発生するスタートアップの遅延をスキップできます。

.NET の生産性

  • エラー一覧を使用して、コード スタイル ルールの重大度レベルを直接構成できるようになりました。 エラー、警告、または候補にカーソルを置く。 右クリックし、[ 重大度の設定] を選択します。 次に、そのルールに対して構成する重大度レベルを選択します。 これにより、ルールの新しい重大度で既存の EditorConfig が更新されます。 これは、サード パーティ製アナライザーでも機能します。
エラー一覧を使用してルールの重大度を直接設定する
エラー一覧を使用してルールの重大度を直接設定する
  • すべての参照を検索すると、型とメンバーでグループ化できるようになりました。
[すべての参照の検索] で種類とメンバーでグループ化する
[すべての参照の検索] で種類とメンバーでグループ化する
  • ローカル関数を静的にし、関数の外部で定義された変数を関数の宣言と呼び出しに渡すようになりました。 ローカル関数名にカーソルを置きます。 (Ctrl + .) キーを押して、[ クイック アクションとリファクタリング] メニューを トリガーします。 [ローカル関数を作成]staticを選択します。
ローカル関数を静的にする
ローカル関数を静的にする
  • 変数をローカル静的関数に明示的に渡すようになりました。 静的ローカル関数の変数にカーソルを置きます。 (Ctrl + .) キーを押して、[ クイック アクションとリファクタリング] メニューを トリガーします。 ローカル静的関数で明示的に変数を渡すを選択します
ローカル静的関数に変数を渡す
ローカル静的関数に変数を渡す

.NET の生産性

  • エディターを使用して、コード スタイル ルールの重大度レベルを直接構成できるようになりました。 ユーザーが現在 .editorconfig ファイルを持っていない場合は、自動的に生成されます。 [クイック アクションとリファクタリング] メニューを開くには、エラー、警告、または候補と入力 (Ctrl + ..) にカーソルを置きます。 [問題の構成または抑制] を選択します。 次に、ルールを選択し、そのルールに対して構成する重大度レベルを選択します。 これにより、ルールの新しい重大度で既存の EditorConfig が更新されます。 これは、サード パーティ製アナライザーでも機能します。
エディターを使用してルールの重大度を直接設定する
エディターを使用してルールの重大度を直接設定する
  • [ ベースに移動 ] コマンドを使用して、継承チェーンを上に移動できるようになりました。 [ベースに移動] コマンドは、継承階層を移動する要素のコンテキスト (右クリック) メニューで使用できます。 または、(Alt + Home キーを押しながら) 入力することもできます。 複数の結果がある場合は、移動を選択できるすべての結果を含むツール ウィンドウが開きます。
ベースに移動
ベースに移動
  • すべてのパラメーターに null チェックを追加できるようになりました。 これにより、null 許容で、まだチェックされていないすべてのパラメーターの null 値を確認する if ステートメントが追加されます。 メソッド内の任意のパラメーターにカーソルを置く。 (Ctrl + .) キーを押して、[ クイック アクションとリファクタリング] メニューを トリガーします。 [すべてのパラメーターに null チェックを追加する] オプションを選択します。
すべてのパラメーターに null チェックを追加する
すべてのパラメーターに null チェックを追加する
  • XML ドキュメントがないメソッドは、オーバーライドするメソッドから XML ドキュメントを自動的に継承できるようになりました。 文書化されたインターフェイス メソッドを実装する文書化されていないメソッドの上にカーソルを置きます。 クイック ヒントでは、インターフェイス メソッドの XML ドキュメントが表示されます。 <inheritdoc> タグを使用して、基底クラスとインターフェイスから xml コメントを継承することもできます。 ドキュメントの例
XML 継承ドキュメント
XML 継承ドキュメント

Xamarin

Xamarin.Forms の XAML ホット リロード

Xamarin.Forms 用の XAML ホット リロードにより、 開発が高速化され、ユーザー インターフェイスでのビルド、実験、反復処理が容易になります。 UI を調整するたびにアプリをリビルドする必要がなくなりました。実行中のアプリの変更がすぐに表示されます。

Android アプリ バンドルの発行

Visual Studio で Android アプリケーションを発行するときに、Android アプリ バンドルを作成できるようになりました。 アプリ バンドルは、Google Play ストアまたはさまざまな Android App Store からアプリをダウンロードするときに、デバイスの仕様に従って最適化された API をユーザーに提供します。

Android アプリ バンドルの発行
Android アプリ バンドルの発行

AndroidX 移行ウィザード

AndroidX 移行ウィザードを使用して、Android サポート ライブラリから既存の Android アプリケーションを AndroidX に変換できるようになりました。

AndroidX 移行ウィザード
AndroidX 移行ウィザード

Android レイアウトのリント解析

Android デザイナー内でレイアウトを編集するときの一般的な問題のセットが提供されるようになりました。

Android レイアウト リンティング
Android レイアウト リンティング

Visual Studio 2019 バージョン 16.4 で修正された上位の問題


既知の問題

次のリンクに従って、Visual Studio 2019 バージョン 16.4 のすべての問題と使用可能な回避策を確認します。

Visual Studio 2019 の既知の問題


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

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