Visual Studio 2019 バージョン 16.9 リリース ノート
開発者コミュニティ | システム要件 | 互換性 | 頒布可能コード | リリース履歴 | ライセンス条項 | ブログ | Visual Studio のドキュメントの最新情報
Note
これは Visual Studio の最新バージョンではありません。 最新のリリースをダウンロードするには、Visual Studio のサイトにアクセスしてください。
Visual Studio 2019 バージョン 16.9 の新機能
サポート期間
Visual Studio 2019 バージョン 16.9 は、Visual Studio 2019 でサポートされる 4 番目のサービス ベースラインです。 長期的な安定性とセキュリティで保護された開発環境を採用する必要がある Enterprise および Professional のお客様は、このバージョンで標準化することをお勧めします。 ライフサイクルとサポート ポリシーに関するページで詳しく説明しているように、バージョン 16.9 は、2022 年 10 月まで、修正プログラムとセキュリティ更新プログラムによってサポートされます。 2022 年 10 月は、最後のサービス ベースラインとして宣言された Visual Studio 2019 バージョン 16.11 のリリースから 1 年後にあたります。
さらに、バージョン 16.9 が利用可能になったことで、最新のサービス ベースラインであったバージョン 16.7 は、今後 12 か月間サポートされ、2022 年 4 月にサポート対象外になります。 また、バージョン 16.8 もサポート対象外になったことに注意してください。 これらの中間リリースには、次のマイナー更新プログラムがリリースされるまでに限ってサービス修正が提供されました。
my.visualstudio.com のダウンロードのセクションで、Visual Studio 2019 バージョン 16.9 の最も安全な最新バージョンを入手できます。 最新バージョンのリリース ノートを参照するか、Visual Studio サイトにアクセスして、サポートされている最新バージョンの Visual Studio 2019 をダウンロードしてください。 Visual Studio でサポートされるベースラインの詳細については、Visual Studio 2019 のサポート ポリシーに関するページを参照してください。
Visual Studio 2019 バージョン 16.9 リリース
- 2022 年 10 月 11 日 - Visual Studio 2019 バージョン 16.9.26
- 2022 年 9 月 13 日 — Visual Studio 2019 バージョン 16.9.25
- 2022 年 8 月 9 日 — Visual Studio 2019 バージョン 16.9.24
- 2022 年 7 月 12 日 — Visual Studio 2019 バージョン 16.9.23
- 2022 年 6 月 14 日 — Visual Studio 2019 バージョン 16.9.22
- 2022 年 5 月 10 日 — Visual Studio 2019 バージョン 16.9.21
- 2022 年 4 月 19 日 — Visual Studio 2019 バージョン 16.9.20
- 2022 年 4 月 12 日 — Visual Studio 2019 バージョン 16.9.19
- 2022 年 3 月 8 日 — Visual Studio 2019 バージョン 16.9.18
- 2022 年 2 月 8 日 — Visual Studio 2019 バージョン 16.9.17
- 2022 年 1 月 11 日 — Visual Studio 2019 バージョン 16.9.16
- 2021 年 12 月 14 日 — Visual Studio 2019 バージョン 16.9.15
- 2021 年 11 月 16 日 — Visual Studio 2019 バージョン 16.9.14
- 2021 年 11 月 9 日 — Visual Studio 2019 バージョン 16.9.13
- 2021 年 10 月 12 日 — Visual Studio 2019 バージョン 16.9.12
- 2021 年 9 月 14 日 — Visual Studio 2019 バージョン 16.9.11
- 2021 年 8 月 10 日 — Visual Studio 2019 バージョン 16.9.10
- 2021 年 7 月 13 日 — Visual Studio 2019 バージョン 16.9.9
- 2021 年 6 月 15 日 — Visual Studio 2019 バージョン 16.9.8
- 2021 年 6 月 8 日 — Visual Studio 2019 バージョン 16.9.7
- 2021 年 5 月 18 日 — Visual Studio 2019 バージョン 16.9.6
- 2021 年 5 月 11 日 — Visual Studio 2019 バージョン 16.9.5
- 2021 年 4 月 13 日 — Visual Studio 2019 バージョン 16.9.4
- 2021 年 3 月 30 日 — Visual Studio 2019 バージョン 16.9.3
- 2021 年 3 月 16 日 — Visual Studio 2019 バージョン 16.9.2
- 2021 年 3 月 9 日 — Visual Studio 2019 バージョン 16.9.1
- 2021 年 3 月 2 日 — Visual Studio 2019 バージョン 16.9.0
Visual Studio 2019 アーカイブされているリリース ノート
- Visual Studio 2019 バージョン 16.8 リリース ノート
- Visual Studio 2019 バージョン 16.7 リリース ノート
- Visual Studio 2019 バージョン 16.6 リリース ノート
- Visual Studio 2019 バージョン 16.5 リリース ノート
- Visual Studio 2019 バージョン 16.4 リリース ノート
- Visual Studio 2019 バージョン 16.3 リリース ノート
- Visual Studio 2019 バージョン 16.2 リリース ノート
- Visual Studio 2019 バージョン 16.1 リリース ノート
- Visual Studio 2019 バージョン 16.0 リリース ノート
Visual Studio 2019 ブログ
Visual Studio 2019 ブログは、Visual Studio エンジニアリング チームからの製品の分析情報の公式な情報源です。 Visual Studio 2019 リリースの詳細については、次の投稿を参照してください。
- 本日入手可能。 Visual Studio 2019 v16.9 および v16.10 Preview 1
- Visual Studio 2019 v16.9 プレビュー 3、本日入手可能
- Visual Studio 2019 v16.9 Preview 2 と年末のご挨拶
- Visual Studio 2019 v16.8 および v16.9 プレビュー、本日入手可能
- Visual Studio 2019 v16.8 Preview 3.1 の新機能
- Visual Studio 2019 v16.8 プレビュー 2 の新機能、本日リリース
- Visual Studio 2019 v16.7 および v16.8 プレビュー 1、本日リリース
- Visual Studio 2019 v16.7 プレビュー 2、本日入手可能
- Visual Studio での Git エクスペリエンスに関する新しい更新プログラム
- 本日リリース。 Visual Studio 2019 v16.6 および v16.7 Preview 1
- Visual Studio 2019 バージョン 16.6 Preview 2 では新しい機能がリリースされています
- Visual Studio 2019 バージョン 16.5 が利用可能になりました
- Visual Studio 2019 v16.4 リリースのシーズン
- Visual Studio 2019 バージョン 16.4 Preview 2、秋の味覚と風物詩
- Visual Studio 2019 バージョン 16.3 での .NET Core サポートなど - 今すぐ更新
- Visual Studio 2019 バージョン 16.3 Preview 2 および Visual Studio 2019 for Mac バージョン 8.3 Preview 2 がリリースされました
- Visual Studio 2019 バージョン 16.2 および 16.3 Preview 1 が利用できるようになりました
- Visual Studio 2019 バージョン 16.2 Preview 2
- Visual Studio 2019 バージョン 16.1 と 16.2 Preview
- Visual Studio 2019: コードの高速化。 作業をよりスマートに。 未来を作る
Visual Studio 2019 バージョン 16.9.26
"リリース日: 2022 年 10 月 11 日"
このリリースで対処された問題:
- 管理者は、VS を更新せずにレイアウトからオフラインのクライアント マシンの VS インストーラーを更新できるようになります。
セキュリティ アドバイザリ メモ
- CVE-2022-41032 .NET 特権の昇格の脆弱性 .NET 7.0.0-rc.1、.NET 6.0、.NET Core 3.1、および NuGet クライアント (NuGet.exe、NuGet.Commands、NuGet.CommandLine、NuGet.Protocol) には、悪意のあるアクターがユーザーによる任意のコードの実行を引き起こすことができるおそれのある脆弱性が存在します。
Visual Studio 2019 バージョン 16.9.25
セキュリティ アドバイザリ メモ
- CVE-2022-38013 .NET サービス拒否の脆弱性 ASP.NET Core 3.1 および .NET 6.0 にはサービス拒否の脆弱性が存在します。この脆弱性により、悪意のあるクライアントによってスタック オーバーフローが発生し、モデル バインド中に解析されるカスタマイズされたペイロードを攻撃者が送信すると、サービス拒否攻撃が発生する可能性があります。
Visual Studio 2019 バージョン 16.9.24
"リリース日: 2022 年 8 月 9 日"
このリリースで対処された問題:
- Git for Windows を v2.37.1.1 に更新し、CVE-2022-31012 に対応。
セキュリティ アドバイザリ メモ
- CVE-2022-34716 .NET 情報漏えいの脆弱性 .NET 6.0 および .NET Core 3.1 に情報漏えいの脆弱性が存在し、特権情報への不正アクセスにつながる可能性があります。
- CVE-2022-31012 リモート コード実行 Git for Windows のインストーラーが信頼されていないバイナリを実行してしまうおそれがある
- CVE-2022-29187 特権の昇格 悪意のあるユーザーが、スーパーユーザーが所有するフォルダー内に .git ディレクトリを作成できる
- CVE-2022-35777 リモート コード実行 Visual Studio 2022 Preview の Fbx ファイル パーサーに関するヒープ オーバーフローの脆弱性
- CVE-2022-35825 リモート コード実行 Visual Studio 2022 Preview の Fbx ファイル パーサーに関する OOBW の脆弱性
- CVE-2022-35826 リモート コード実行 Visual Studio 2022 Preview の Fbx ファイル パーサーに関するヒープ オーバーフローの脆弱性
- CVE-2022-35827 リモート コード実行 Visual Studio 2022 Preview の Fbx ファイル パーサーに関するヒープ OOBW の脆弱性
Visual Studio 2019 バージョン 16.9.23
"リリース日: 2022 年 6 月 14 日"
このリリースで対処された問題:
- cdnjs API の変更に対応するように LibraryManager を更新しました
セキュリティ アドバイザリ メモ
- CVE-2022-30184 .NET 情報漏えいの脆弱性 .NET 6.0 と .NET Core 3.1 において NuGet 内に資格情報の漏えいが発生するおそれがある脆弱性が存在します。
- CVE-2022-24513 特権の昇格の脆弱性Microsoft Visual Studio アップデータ サービスがローカル構成データを不適切に解析すると、特権の昇格の脆弱性が発生するおそれがあります。
Visual Studio 2019 バージョン 16.9.21
"リリース日: 2022 年 5 月 10 日"
このリリースで対処された問題:
- Visual Studio およびインストール可能なオプション コンポーネントによって使用される Git for Windows のバージョンを 2.36.0.1 に更新しました
- git 統合に関して、分岐しているブランチをプルまたは同期するとき、出力ウィンドウにその解決方法に関するローカライズされたヒントが表示されない問題を修正しました。
セキュリティ アドバイザリ メモ
CVE-2022-29117 .NET サービス拒否の脆弱性 .NET 6.0、.NET 5.0、.NET Core 3.1 には、悪意のあるクライアントが Cookie を操作し、サービス拒否を引き起こすことができる脆弱性が存在します。
CVE-2022-23267 .NET Core サービス拒否の脆弱性 .NET 6.0、.NET 5.0、.NET Core 3.1 には、悪意のあるクライアントが、HttpClient を使用した過剰なメモリ割り当てによってサービス拒否を引き起こすことができる脆弱性が存在します。
CVE-2022-29145 .NET サービス拒否の脆弱性 .NET 6.0、.NET 5.0、.NET Core 3.1 には、悪意のあるクライアントが、HTML フォームの解析時にサービス拒否を引き起こすことができる脆弱性が存在します。
CVE-2022-24513 特権の昇格の脆弱性Microsoft Visual Studio アップデータ サービスがローカル構成データを不適切に解析すると、特権の昇格の脆弱性が発生するおそれがあります。
Visual Studio 2019 バージョン 16.9.20
リリース日: 2022 年 4 月 19 日
このリリースで対処された問題:
- vctip.exe の 16.9.19 からの回帰を修正しました
Visual Studio 2019 バージョン 16.9.19
リリース日 2022 年 4 月 12 日
このリリースで対処された問題:
セキュリティ アドバイザリ メモ
CVE-2022-24765 特権の昇格の脆弱性Windows の Git には特権の昇格の脆弱性が存在するおそれがあります。これにより、Git ディレクトリを検索中に Git 操作がリポジトリの外部で実行される場合があります。 Windows の Git はバージョン 2.35.2.1 にアップデートされました。
CVE-2022-24767 DLL 乗っ取りの脆弱性 SYSTEM ユーザー アカウントでアンインストーラーを実行すると、Windows インストーラーの Git に DLL が乗っ取られる脆弱性が存在するおそれがあります。 Windows の Git はバージョン 2.35.2.1 にアップデートされました。
CVE-2022-24513 特権の昇格の脆弱性Microsoft Visual Studio アップデータ サービスがローカル構成データを不適切に解析すると、特権の昇格の脆弱性が発生するおそれがあります。
Visual Studio 2019 バージョン 16.9.18
"リリース日: 2022 年 3 月 8 日"
このリリースで対処された問題:
セキュリティ アドバイザリ メモ
CVE-2020-8927 の脆弱性 .NET 5.0 および .NET Core 3.1 にリモート コード実行の脆弱性が存在し、1.0.8 より前のバージョンの Brotli ライブラリにバッファー オーバーフローが存在します。
CVE-2022-24464 の脆弱性 特定の種類の http フォーム要求を解析するときに、.NET 6.0、.NET 5.0、および .NET CORE 3.1 にサービス拒否の脆弱性が存在します。
CVE-2022-24512 の脆弱性 .NET Double Parse ルーチンでスタック バッファー オーバーランが発生する .NET 6.0、.NET 5.0、および .NET Core 3.1 にリモート コード実行の脆弱性が存在します。
CVE-2021-3711 OpenSSL バッファー オーバーフローの脆弱性 Git for Windows で使用される OpenSSL には、バッファー オーバーフローの潜在的な脆弱性が存在します。 Git for Windows がバージョン 2.35.1.2 に更新され、この問題が対処されています。
Visual Studio 2019 バージョン 16.9.17
リリース日: 2022 年 2 月 8 日
このリリースで対処された問題:
セキュリティ アドバイザリ メモ
CVE-2022-21986 の脆弱性 .NET 5.0 および .NET 6.0 には、Kestrel Web サーバーが特定の HTTP/2 および HTTP/3 要求を処理するとき、サービス拒否される脆弱性があります
CVE-2022-21871 診断ハブ標準コレクター ランタイムの特権の昇格の脆弱性 診断ハブ標準コレクターがデータ操作を適切に処理しなかったとき、特権が昇格される脆弱性があります。
Visual Studio 2019 バージョン 16.9.16
リリース日: 2022 年 1 月 11 日
このリリースで対処された問題:
- Visual Studio 16.8.5 以降で大規模なプロジェクトをビルドすると、link.exe で断続的にクラッシュが発生する問題を修正しました。
- Windows ターミナルを既定のターミナルとして使用したときにアプリケーションを複数回デバッグできないという問題を修正しました。
- 制限付き構成上で顧客のブロックを解除するためのセットアップ修正
- クライアントが最新のブートストラップを更新できないという問題を修正しました。 クライアントが 2022 年 1 月以降に出荷されたブートストラップとインストーラーを使用すると、後続のブートストラップを使用する更新プログラムはすべて、製品のライフサイクルの期間中は機能します。
Developer Community から
Visual Studio 2019 バージョン 16.9.15
リリース日: 2021 年 12 月 14 日
このリリースで対処された問題:
- Python 3.9.7 を Python ワークロードに追加しました。 セキュリティの脆弱性のため、Python 3.7.8 が削除されました。
セキュリティ アドバイザリ メモ
CVE-2021-43877 脆弱性 特権の昇格の脆弱性が ANCM に存在し、これによって .NET core、.NET 5、.NET 6 のアプリケーションが IIS 内でホストされている場合に特権の昇格が許可される場合があります。
Visual Studio 2019 バージョン 16.9.14
リリース日: 2021 年 11 月 16 日
このリリースで対処された問題:
- ブートストラップで --useLatestInstaller パラメーターが考慮され、最新のインストーラーがレイアウトに統合されるようになりました。 Visual Studio 2022 に含まれるこの最新のインストーラーを使用すると、企業がクライアントをあるレイアウトの場所から別の場所に移行するシナリオが可能になります。 詳細については、[Visual Studio 管理者ガイド] を参照してください (* ブートストラップに --useLatestInstaller パラメーターが適用されるようになりました。これにより、最新のインストーラーがレイアウトに統合されます。Visual Studio 2022 に付属するこの最新のインストーラーにより、企業がクライアントをあるレイアウトの場所から別のレイアウトの場所に移行するシナリオが可能になります。詳細については、「Visual Studio 管理者ガイド」を参照してください)。
Visual Studio 2019 バージョン 16.9.13
リリース日: 2021 年 11 月 9 日
このリリースで対処された問題:
- [スタート] メニューのショートカット リンクが非表示になる原因となっていたバグを修正しました。 このバグは、同じコンピューター上で各種製品 SKU の複数のインスタンスを更新する場合にのみ発生していました。
セキュリティ アドバイザリ メモ
CVE-2021-42319 特権の昇格の脆弱性 Visual Studio インストーラーに含まれている WMI プロバイダーに、特権の昇格の脆弱性が存在します。
CVE-2021-42277 診断ハブ標準コレクター サービスの特権の昇格の脆弱性 診断ハブ標準コレクターがファイル操作を適切に処理しなかった場合、特権の昇格の脆弱性が存在します。
Visual Studio 2019 バージョン 16.9.12
リリース日: 2021 年 10 月 12 日
このリリースで対処された問題:
- バイナリと POGO インストルメンテーション ランタイムの間の ARM64 および ARM64EC インターフェイスの更新。
セキュリティ アドバイザリ メモ
CVE-2021-41355 .NET 5.0 の漏えいの脆弱性
.NET には、Linux 上で System.DirectoryServices.Protocols.LdapConnection がプレーン テキストで資格情報を送信するという情報漏えいの脆弱性が存在します。
CVE-2020-1971 OpenSSL サービス拒否の脆弱性
Git によって使用される OpenSSL ライブラリに、潜在的なサービス拒否の脆弱性が存在します。
CVE-2021-3449 OpenSSL サービス拒否の脆弱性
Git によって使用される OpenSSL ライブラリに、潜在的なサービス拒否の脆弱性が存在します。
CVE-2021-3450 OpenSSL サービス拒否の脆弱性
Git によって使用される OpenSSL ライブラリに、潜在的なフラグ バイパスが存在します。
Visual Studio 2019 バージョン 16.9.11
リリース日: 2021 年 9 月 14 日
このリリースで対処された問題:
- SAL 注釈から参照されるフィールドが含まれる、名前のない構造体が原因で発生していた致命的な内部コンパイラ エラーを修正しました。
- __uuidof を使用するテンプレート化されたコードを分析する際にまれにクラッシュが発生するという問題を修正しています。
セキュリティ アドバイザリ メモ
CVE-2021-26434 Visual Studio での不正なアクセス許可割り当てによる特権の昇格の脆弱性
Visual Studio では、C++ によるゲーム開発をインストールし、Unreal Engine インストーラー ワークロードを選択した後、アクセス許可割り当ての脆弱性が生じます。 インストール中、システムは LPE に対して脆弱です。すべてのユーザーへの書き込みアクセス権を使用してディレクトリが作成されます。
Developer Community から
- PreFast: 致命的なエラー C1001: 内部コンパイラ エラー
- VS 16.8.6 から VS 16.9.5 に移行した後、MFC/ATL リンクの問題により WinARM64 ビルドが失敗します
Visual Studio 2019 バージョン 16.9.10
''リリース日: 2021 年 8 月 10 日''
このリリースで対処された問題:
- インストールされている拡張機能を報告するときに、ディスクのパスを送信しなくなりました。
- クラス内テンプレートの特殊化で静的データ メンバーを処理するときに発生する IntelliSense のクラッシュを修正しました。
- update コマンドのコマンド ライン実行に影響していた問題を修正しました。 更新が初めて失敗した場合、その後に update コマンドを発行すると、更新によって前の操作が中断した箇所から再開されるようになりました。
セキュリティ アドバイザリ メモ
CVE-2021-26423 .NET Core のサービス拒否の脆弱性
サービス拒否の脆弱性があり、WebSocket エンドポイントを提供する .NET (Core) サーバー アプリケーションが、1 つの WebSocket フレームを読み取ろうとしている間に、無限ループに陥る可能性があります。
CVE-2021-34485 .NET Core 情報漏えいの脆弱性
必要に応じてクラッシュ ダンプとダンプを収集するツールによって作成されたダンプが、Linux および macOS のグローバル読み取りアクセス許可を使用して作成されるときに、情報漏えいの脆弱性が存在します。
CVE-2021-34532 ASP.NET Core 情報漏えいの脆弱性
情報漏えいの脆弱性は、JWT トークンが解析できない場合にログに記録される場所に存在します。
Visual Studio 2019 バージョン 16.9.9
リリース日: 2021 年 7 月 13 日
このリリースで対処された問題:
- アドインの使用時に Outlook がクラッシュする ARM64X の問題を修正しました。
- C++ コンパイラによって if 変換が誤って実行される問題を修正しました。
- 最新の Windows 更新プログラムでの互換性に関する ASan の問題を修正しました。
- ASan により、擬陽性の memcpy メモリ領域の重複エラーが報告されなくなりました。
- 配列型の匿名関数パラメーターを持つ関数テンプレートを使用すると、パーサーによって後続の関数定義がスキップされ、その結果、定数式内での呼び出しを評価するときに、関数が未定義であるという誤った constexpr エラーが発生していました。 この修正により、スキップされた関数定義の解析が再び有効になりました。
- VARIANT の誤用のバグを検出するチェッカー拡張機能の 1 つによって引き起こされるパフォーマンス問題と擬陽性を修正しました。
- 列挙値をインデックスとして誤用するバグを検出するチェッカー拡張機能の 1 つによって引き起こされるパフォーマンスの問題を修正しました。
- 複数の TU をコンパイルするときのメモリ不足のリークを修正しました。
- コンカレンシー アナライザーにより、自動ロック パターンを伴う C26110 (ロック取得の失敗) という誤った警告が生成されなくなりました。
- この修正プログラムにより、外部ヘッダーの分析がスキップされ、外部ヘッダーからの警告が抑制されることで、外部ヘッダーの動作が復元されます。
- コード分析でのコンカレンシー チェック機能が向上しました。 複雑な制御フローの改ざんがより難しくなりました。
- レイアウトの作成に関する問題を修正しました。
- 更新チャネル情報の欠落により更新が失敗することがある問題を修正しました。
Developer Community から
- Developer Community には、このリリースに付属しているすべての項目の完全な一覧があります。
- アナライザー C26110 による誤ったロック警告
- EnforceProcessCountAcrossBuilds により、システム ヘッダーにコード分析の警告が出力される
- VS 16.10 Preview 4 の STL functional.h における Codeanalysis の警告 C6285。 16.10 Preview 2 では機能していました
- Functional(813) に警告 C6285 がある
- lmaccess.h/bcrypt.h の C28301 の警告
- C33005 が _variant_t/VARIANT で擬陽性になる
- VS 2019 16.10 へのアップグレード後に Microsoft ヘッダーに誤った C28251 メッセージが表示される
- C コードで実行または分析すると、偽の C28251 と C28301 の警告が大量に発生する
Visual Studio 2019 バージョン 16.9.8
リリース日: 2021 年 6 月 15 日
Developer Community から
- Developer Community には、このリリースに付属しているすべての項目の完全な一覧があります。
- Address Sanitizer では、環境変数を使用せずにクラッシュ ダンプのトリガーを許可する必要があります。
Visual Studio 2019 バージョン 16.9.7
リリース日: 2021 年 6 月 8 日
このリリースで対処された問題:
- SSA 命令 cloner のバグを修正。
- mspdbcore.dll がクラッシュする原因となる問題を修正。
- 顧客コード ベースの長時間実行/タイム アウト ビルドを修正。
- 開発者による PyTorch の構築を妨げる問題を修正。
- 大規模なコードベースが 32 ビット MSBuild.exe プロセスでビルドされる際に発生する内部 MSBuild エラー (MSB0001) を修正。
- 開発者がマップされたポートを表示してから別のコンテナーに切り替えようとするときに、コンテナー ツール ウィンドウで Visual Studio 2019 がクラッシュする原因となる問題を修正。
セキュリティ アドバイザリ メモ
CVE-2021-31957 ASP.NET サービス拒否の脆弱性
ASP.NET Core によってクライアントの切断が不適切に処理される場合、サービス拒否の脆弱性が存在します。
Developer Community から
Developer Community には、このリリースに付属しているすべての項目の完全な一覧があります。
16.9.7 でリリースされた投票上位のイシューの一部を次に示します。
Visual Studio 2019 バージョン 16.9.6
リリース日: 2021 年 5 月 18 日
このリリースで対処された問題:
- 証明書の作成または自動プロビジョニングの実行を試みた場合に発生する "破棄されたオブジェクトにアクセスできません。 オブジェクト名:'System.Net.Http.StringContent'" を修正します。
- [iOS のホット再起動] 機能が正しく動作しないという問題を修正しました。
Developer Community から
Developer Community には、このリリースに付属しているすべての項目の完全な一覧があります。
16.9.6 でリリースされた投票上位のイシューの一部を次に示します。
- /O2 で不正なコードが生成されます
- Apple 開発者アカウント追加のエラー: 認証サービスを使用できません
- 致命的なエラー C1001: 内部コンパイラ エラー (コンパイラ ファイル 'D:\a01_work\4\s\src\vctools\Compiler\Utc\src\p2\main.c', line 213)
- VS 16.9.5 で iOS アプリをデプロイできない
Visual Studio 2019 バージョン 16.9.5
リリース日: 2021 年 5 月 11 日
このリリースで対処された問題:
- エクスポートを使用するときに Office ツールが想定どおりに動作しなかった問題を修正しました。
- x64 と ARM64EC DLL の間での特定の仮想呼び出しの間に発生した Visual Studio 2019 のクラッシュを修正しました。
- マルチスレッド ASan インストルメント化コードを実行しているときの、擬陽性を解決しました。
- エラー "HRESULT E_FAIL が COM コンポーネントの呼び出しから返されました" というエラーが発生するプロジェクト エラーを修正しました。
- 起動時に C++ ファイルを開いたときに、Visual Studio 2019 の応答が停止することがある問題を修正しました。
- 新しい設定を永続化できない、ファイルの CmakeSettings.json 構成に関する問題を修正しました。
- ファイル パスに非 ASCII 文字が 1 つ以上含まれるときにソース ファイルの分析によって発生していた内部コンパイラ エラーを修正しました。
- コード カバレッジ ファイルに 1 つのライブラリのエントリが複数ある場合の、カバレッジ ファイルを開くときの問題を修正しました。
- リモート デスクトップが有効になっているときに、非職場アカウントを使用してログインしたユーザーが、アクセスを拒否されるおそれがあるバグを修正しました。
- 開発者がメニューをカスタマイズしていて、カスタマイズ ダイアログで区切りをクリックしたときに、Visual Studio 2019 がクラッシュする原因となるバグを修正しました。
- ソリューションを開くと、フローティング ドキュメント ウィンドウが復元されます。
- 管理者が更新プログラムを配置するために Visual Studio の新しいレイアウトを作成するときに、更新が失敗する原因になっていた問題を修正しました。 レイアウトの場所が移動されていたため、クライアント コンピューターの更新が失敗します。
- 高速配置が有効になっているプロジェクトのビルドが失敗する、または配置に時間がかかる原因となっていた問題を修正しました。
- Xcode 12.5 のサポートを追加しました。
- 管理者が更新プログラムを配置するために Visual Studio の新しいレイアウトを作成するときに、更新が失敗する原因になっていた問題を修正しました。 レイアウトの場所が移動されていたため、クライアント コンピューターの更新が失敗します。
セキュリティ アドバイザリ メモ
CVE-2021-27068 入れ子になったフォルダーに python.exe を配置するときに RCE が可能
Python コードを使用してワークスペースを開くとき、そのワークスペースの scripts サブフォルダーに python.exe が含まれていると、リモート コード実行の脆弱性が存在します。
CVE-2021-31204 .NET Core の特権の昇格脆弱性
.NET 5.0 と .NET Core 3.1 には、Linux または macOS ベースのオペレーティング システムで単一ファイルのアプリケーションを実行するときに、特権の昇格の脆弱性が存在します。
Developer Community から
Developer Community には、このリリースに付属しているすべての項目の完全な一覧があります。
16.9.5 でリリースされた投票上位のイシューの一部を次に示します。
- フローティング ウィンドウ状態で Visual Studio を閉じた場合、ソリューションを読み込むときに、以前に開いていたドキュメントが復元されません。
- 正しくない C26497: 関数 "fun" は constexpr とマークされている可能性があります
- ダイアログを使用しても、CMakeSettings.json で変数が変更されません。
- ツール バー エディターで区切り線をクリックすると、Visual Studio 2019 がクラッシュします。
- Xamarin iOS バインド プロジェクトのビルドが、Visual Studio v16.9 で動作しなくなりました。
- メッセージ: リモート言語サーバーをアクティブにする処理でエラーが発生しました。
- 16.9.2 へのアップグレード以降。 リモート言語サーバーに関するエラーが発生しています。
- [無効な受け入れ] msvc が無効な場所で [[maybe_unused]] を受け入れます
- Visual Studio v16.9 の link.exe が 57009 で終了します。
- 最適化でのコード生成のバグ。
- Apple 開発者アカウント追加のエラー: 認証サービスを使用できません。
- ASAN ランタイムの windows.storage.dll でランダムな AV が発生します。
- Visual Studio 拡張機能の読み込みが失敗しました。
- Visual Studio 2019 を 16.9.4 にアップグレードすると、コンパイルまたはリンクのエラーが発生します。
- MsBuild 16.9 の増分ビルドが壊れています。
- Visual Studio でツール バーをカスタマイズしようとするとクラッシュします。
Visual Studio 2019 バージョン 16.9.4
"リリース日: 2021 年 4 月 13 日"
このリリースで対処された問題:
- 非依存基底クラス内の一部のフォームのテンプレート名でエラーを引き起こしていた SFINAE バグを修正しました。
- IntelliCode によって一時ディレクトリへのログインが試行されているときに、一時ディレクトリへのアクセスが拒否されるというケースを修正しました。
- サードパーティの特権管理ソフトウェアもインストールされている場合に、Visual Studio の一部の機能が制限されるという問題を解決しました。
- お客様が XBox 上でデバッグを繰り返し開始すると、カーネル リソースがますます消費されるという問題に対処しました。 最終的に XBox の再起動が必要になり、その場合は状態が失われます。
- Windows の Insider Preview ビルドでネイティブ コードをデバッグする際のハングに対処しました。
- キーボード フォーカスに関するアクセシビリティ バグを修正した。
- [新しいプロジェクト] ダイアログに、欠落している Xamarin テンプレート (iOS/Android クラス ライブラリ、iOS/Android バインド ライブラリ、Android Wear、Xamarin.UITest) を追加し直しました。 これらのテンプレートは誤って非表示にされていました。
- SSH 接続を使用して Linux をターゲットとする C++ CMake ベースのプロジェクトの場合、
remoteCMakeListsRoot
プロパティによってCMakeSettings.json
内に指定される宛先ディレクトリは VS 16.8 で以前の動作に戻されました。ここで、コピーの宛先はソース ディレクトリのルートに対応します。 チケットの詳細 リモートの Linux コンピューターへの接続で、正しくない宛先パスが使用されています。
セキュリティ アドバイザリ メモ
CVE-2021-27064 Visual Studio インストーラーの特権の昇格の脆弱性
リモートでのコード実行の脆弱性は、Visual Studio インストーラーによって、フィードバック クライアントが昇格された状態で実行された場合に発生します。
CVE-2021-28313 / CVE-2021-28321 / CVE-2021-28322 診断ハブ標準コレクター サービスの特権の昇格の脆弱性
診断ハブ標準コレクターがデータ操作を適切に処理しなかった場合、特権の昇格の脆弱性が存在します。
Developer Community から
Developer Community には、このリリースに付属しているすべての項目の完全な一覧があります。
16.9.4 でリリースされた上位の問題の一部を次に示します。
- Visual Studio 16.8 アップグレードにより、MakeFile プロジェクトからのリンケージ依存関係が壊れました。
- アップグレード後に Visual Studio 16.9 を起動すると、"'Environment Package Window Management' パッケージが正しく読み込まれませんでした" というエラーが発生します。
- ツールセット 16.9 で回帰: vcxproj の静的ライブラリ生成で、pdb が出力にコピーされなくなりました。
- Win32 のデバッグ中に Visual Studio がフリーズします。
- リモートの Linux コンピューターへの接続で、正しくない宛先パスが使用されています。
- Visual Studio 2019 で Xamarin Android バインド ライブラリ テンプレートが見つかりません。
- エラーが原因で Visual Studio を起動できませんでした: System.InvalidOperationException: コントローラーが受信した要求に応答していません。
- SFINAE バグ: Visual Studio 2019 16.9 で 'エイリアス テンプレートを特殊化できませんでした'。
- ASAN は RTC と互換性がありません。
- Vision Visual Studio 2019 に更新した後、エディターでこのエラーが発生します。
Visual Studio 2019 バージョン 16.9.3
"リリース日: 2021 年 3 月 30 日"
このリリースで対処された問題:
- Web サイト プロジェクトを含む MSBuild.exe でソリューションをビルドしようとしたときに発生した MSBuild のクラッシュを修正しました。
- ServiceHub のいくつかの依存関係が原因で発生するクラッシュ シナリオを修正しました。
- Xbox または IoT デバイスの XAML ビジュアル診断ツールのユーザーがリモート デバッグを禁止される、障害となっている問題を修正しました。
Developer Community から
Developer Community には、このリリースに付属しているすべての項目の完全な一覧があります。
16.9.3 でリリースされた上位の問題の一部を次に示します。
- web.config でエラーが発生した。
- 発行プロファイルを発行する前に選択しなければならない
- 16.8 から 16.9 に更新した後、ServiceHub.Host.CLR.X86 が機能しなくなる
- XAML エディターを開くと、Visual Studio 2019 v 16.9.2 がクラッシュする。
- 最新の Visual Studio 2019 更新プログラムに関するイシュー
Visual Studio 2019 バージョン 16.9.2
"リリース日: 2021 年 3 月 16 日"
このリリースで対処された問題:
- ARM64X グローバル関数ポインターの名前を更新しました
- link -lib -extract を使用して ARM64X LIB の最初の OBJ を抽出するように修正しました
- Address Sanitizer と最適化を使用してコンパイルされたコードによって、Visual Studio 2019 がクラッシュする原因となる不適切なコードが生成される可能性があるエラーを修正しました
- リソース エディターでダイアログ エディターを使用して関数を追加することによって発生するクラッシュを修正しました
- Nuget.org をパッケージ ソースとして 2 回削除する必要がなくなりました
- NuGet パッケージの解析パフォーマンスが向上しました
- サーバー エクスプローラーで Azure SQL Database ノードを使用しているときに、顧客が受け取る非推奨の API に関するエラー メッセージを修正しました
- CascadePackage が正しく読み込まれなかったことを示すエラー メッセージが表示される問題を修正しました
- 高速展開が有効になっているビルド プロジェクトの展開が失敗したり、追加の時間がかかったりする問題を修正しました
- ホット リロードによって、保存された変更が [ページ全体] モードで表示される問題を修正しました
- ホット リロードでライブ ビジュアル ツリーが動作しない、または変更が適用されない問題を修正しました
Developer Community から
Developer Community には、このリリースに付属しているすべての項目の完全な一覧があります。
16.9.2 でリリースされた上位の問題の一部を次に示します。
- エスケープでインライン検索ダイアログをキャンセルできない場合がある (C#)
- ホット再起動を使用して iPhone に展開された Xamarin フォーム アプリケーションがクラッシュする
- パフォーマンス プロファイラーで間違ったセッション継続期間が報告される
- VS2019 16.9.0 以降で、Xamarin.Forms のホット リロードが機能しない
Visual Studio 2019 バージョン 16.9.1
"リリース日: 2021 年 3 月 9 日"
セキュリティ アドバイザリ メモ
CVE-2021-21300 Git for Visual Studio のリモート コード実行の脆弱性
Visual Studio を使用して悪意のあるリポジトリを複製するときに、リモート コード実行の脆弱性が存在します。
CVE-2021-26701 .NET Core のリモート コード実行の脆弱性
テキスト エンコードの実行方法が原因で、.NET 5 と .NET Core にリモート コード実行の脆弱性が存在します。
このリリースで対処された問題:
- 正しくない ARM64EC メタデータが OBJ に出力される問題に対する修正。
- 既定のオプションである FixIts がオンになっている C++ で、コードを開く際にエラーの破線が表示される問題を修正しました。
- 場合によっては、C++ IntelliSense で多数のインクルード パスの使用が試行され、応答しなくなることがあります。
- C++ のシナリオでの Live Share の安定性を高めました。
- IntelliCode でシンボルの読み込みが止まる問題を修正しました。
- 新しい実験的な Razor エディターが有効になっているシナリオで、ソリューションの読み込みと終了にかかる時間を改善します。
- [拡張機能と更新プログラム] ダイアログを開いてから Visual Studio をシャットダウンした後に発生する可能性がある、ServiceHub のクラッシュ シナリオを修正しました。
- 低速のコンピューターで更新プログラムをチェックすると、利用可能な更新プログラムがないというメッセージが表示されていたエラーを修正しました。
- 増分変更中に Visual Studio から WAP プロジェクトを起動するときのパフォーマンスを改善します。
- イタリア語ロケールを使用したときのセットアップの起動に失敗する問題を修正しました。
- .NET コア テンプレートのキャッシュを初期化している間に、インストーラーが非常に長い時間応答しなくなるアップグレード シナリオを修正しました。
Developer Community から
Developer Community には、このリリースに付属しているすべての項目の完全な一覧があります。
16.9.1 でリリースされた上位の問題の一部を次に示します。
- オプティマイザーによってアクティブなコードが誤って削除される
- -d1initall11 によって C26019 が引き起こされる
- Visual Studio 2019 16.9 へのアップグレード時にインストールが完了するまでに時間がかかる
Visual Studio 2019 バージョン 16.9.0
"リリース日: 2021 年 3 月 2 日"
Visual Studio 2019 バージョン 16.9.0 のこのリリースの新機能の概要
C++
- Address Sanitizer:
- Windows での Address Sanitizer のサポートが試験段階ではなくなり、一般提供が始まりました。
- RtlAllocateHeap のサポートが拡張され、実行可能なメモリ プールを作成する際の RtlCreateHeap および RtlAllocateHeap インターセプターに関する互換性の問題が修正されました。
- 従来の GlobalAlloc および LocalAlloc ファミリのメモリ関数に対するサポートが追加されました。 これらのインターセプターは
ASAN_OPTIONS=windows_hook_legacy_allocators=true
で有効にすることができます。 - シャドウ メモリ インターリーブおよびインターセプト エラーに関するエラー メッセージが更新され、問題と解決策が明確になりました。
- IDE の統合により、ASan で報告できる例外の完全なコレクションを処理できるようになりました。
- コンパイラとリンカーにより、ASan を使用してビルドしているがデバッグ情報を出力していないことが検出された場合に、デバッグ情報を出力することが提案されます
- 新しい CL スイッチ /openmp:llvm を使用して、LLVM バージョンの OpenMP ランタイムをターゲットにすることができるようになりました。 これにより、#pragma omp セクションでの lastprivate 句と、ループでの並列の符号なしインデックス変数に対するサポートが追加されます。 現在、/openmp:llvm スイッチは amd64 ターゲットでのみ使用可能であり、まだ試験段階です。
- Visual Studio CMake プロジェクトで、リモート Windows 開発が高度にサポートされるようになりました。 これには、Windows ARM64 をターゲットとする CMake プロジェクトの構成、リモート Windows コンピューターへのプロジェクトの配置、および Visual Studio からのリモート Windows コンピューター上でのプロジェクトのデバッグが含まれます。
- Windows の Visual Studio に付属する Ninja のバージョンは、バージョン 1.10 に更新されました。 含まれている内容の詳細については、Ninja 1.10 のリリース ノートを参照してください。
- Visual Studio に付属する CMake のバージョンは、バージョン 3.19 に更新されました。 含まれている内容の詳細については、CMake 3.19 のリリース ノートを参照してください。
- STL の多くの lock/guard 型が nodiscard としてマークされました: https://github.com/microsoft/STL/pull/1495
- IntelliSense:
- IntelliSense でインポートされたモジュールとヘッダー ユニットの入力候補を提供する安定性と機能性が向上しました。
- モジュールのインポートでの [定義へ移動]、エクスポートのインデックス作成のサポート { … }、および同じ名前を持つモジュールのより正確なモジュール参照が追加されました。
- 参照の直接初期化でのテンポラリのコピー初期化、__builtin_memcpy と __builtin_memmove、constexpr 関数と consteval 関数間の不整合の修正、定数式での有効期間が延長されたテンポラリ、および類似した型と参照のバインディングのサポートが追加されたことにより、C++ IntelliSense の言語コンプライアンスが改善されました。
- make_unique、make_shared、emplace、および emplace_back の入力候補が追加されました。これにより、指定された型パラメーターに基づく入力候補が提供されます。
- MSVC で、お使いのバイナリに必要な正しい Address Sanitizer ランタイムが判断できるようになりました。 この新しい変更は、お使いの Visual Studio プロジェクトで自動的に取得されます。 コマンド ラインで Address Sanitizer を使用する場合は、コンパイラに fsanitize=アドレスのみを渡せばよいだけになりました。
- Visual Studio の接続マネージャーで、ECDSA 公開キー アルゴリズムを使用する秘密キーがサポートされるようになりました。
- インストーラーに付属している LLVM と Clang のバージョンが v11 に更新されました。 詳細については、LLVM と Clang のリリース ノートを参照してください。
- Visual Studio で IntelliSense の構成に、ツールチェーン ファイルの CMake 変数が使用されるようになりました。 これにより、Embedded および Android 開発のエクスペリエンスが向上します。
- より多くの constexpr コンテナー提案を実装することで、デストラクターと新しい式を constexpr にすることができます。 これにより、std::vector や std::string などのユーティリティへの道が開かれます。
- C++20 モジュール IntelliSense の延長サポート ([定義に移動]、[モジュールに移動]、[member completion](メンバー完了) など)。
- 省略形の関数テンプレートが MSVC コンパイラーでサポートされるようになりました。
Javascript/TypeScript
- WPF、WinForms、WinUI 3 プロジェクトなどのアプリケーションに対して、Edge Chromium ベースの WebView2 JavaScript/TypeScript デバッグがサポートされるようになりました。 これを有効にするには、[プロジェクトのプロパティ] ダイアログ ボックスから JavaScript デバッガーを選択します。 使用を開始する方法の詳細については、こちらを参照してください
デバッガー
- スレッドがデッドロックしているかどうかを検査する新しい自動アナライザーを追加しました。
- .NET Core ファイナライザー キューを検査し、ブロックしている可能性のあるオブジェクトを検出する新しい自動アナライザーを追加しました。
- Visual Studio では、StackOverflow 例外でデバッガーが停止したときに、呼び出し履歴から冗長な繰り返しフレームが除外されるようになりました。 無限再帰が発生したスタックのベースを確認できるようになりました。これにより、このようなバグの調査が容易になることが期待されます。
Profiler
- より高速 (VSInstr を必要としない) で、PDB を必要とせずに .NET Core アプリケーションをインストルメント化できる、新しい動的なインストルメンテーション シナリオを追加しました。
F# および F# ツール
このリリースでは、Visual Studio の F# ツールの生産性を高めるいくつかの機能を追加し、パフォーマンスの向上を図っています。
- .NET Core での FSI のサポート
- 関数アプリケーションのためのシグネチャ ヘルプ
- 14 個の新しいクイック修正
- F# ツールのパフォーマンスと応答性の大幅な修正
これらの詳細については、「Visual Studio 16.9 での F# および F# ツールの更新」または製品のリリース ノートを参照してください。
- プリプロセッサ シンボルに対する IntelliSense 入力候補が追加されました。
- ソリューション エクスプローラーに新しい .NET 5.0 ソース ジェネレーターが表示されるようになりました。
- [すべてに移動] で、netcoreapp3.1 と netcoreapp2.0 間で重複する結果が表示されません。
- クイック ヒントに、抑制のためのコンパイラの警告 ID または番号が表示されるようになりました。
- 新しいファイルに型をコピーして貼り付けるときに、Using ディレクティブが自動的に追加されるようになりました。
;
を押して入力候補一覧からのメソッドを受け入れると、オブジェクト作成とメソッド呼び出しの場合に括弧とセミコロンが IntelliSense によって自動的に挿入されるようになります。- C# 9.0 のレコードのセマンティックの色付け。
- 不要な破棄を削除するリファクタリング。
- 逐語的および標準文字列を、出力に表示することを意図した中かっこを保持し、補間された文字列に変換するリファクタリング。
- モジュールと共有しているメソッドを変換するときに shared キーワードを削除する Visual Basic のコード修正プログラム。
- 競合のないシナリオで
new(…)
の使用を提案するリファクタリング - C# と Visual Basic の両方について、冗長な等価式を削除するコード修正
- ビルド時に .NET コード スタイル (IDE) アナライザーを適用できるようになりました
- Syntax Visualizer に、強化された色に対する現在の前景色が表示されます
- pragma 警告の診断 ID をポイントすると、新しいツールヒントが表示されます
- コメント内から Return キーを押すと、新しい行が自動的にコメント アウトされるようになりました
- インライン パラメーター名のヒントの機能強化
- WSL 2 を使用した .NET Core のデバッグ
テスト エクスプローラーのオーディオ キューとアクセシビリティの更新
- テスト エクスプローラーでオーディオ キューを構成できるようになり、スクリーン リーダーの [グループ化] メニューのアクセシビリティが向上し、ログ ファイルを直接開くクリック可能なリンクによって長いテスト出力を表示しやすくなりました。
- HTML と C# のセマンティクスの色づけ
- 閉じた Razor ファイルに反映された C# シンボルの名前変更
- Razor ファイル内の C# 電球の増加
- Razor ファイル内の混在したコンテンツの書式設定の強化
- Steeltoe アプリケーションを、Visual Studio での発行 (例: ソリューション エクスプローラーで右クリック > [発行]) を使用して Azure Spring Cloud にデプロイします。
- 接続済みサービスとしての Azure App Configuration の .NET サポートの強化
- Azure App Configuration を接続済みサービスとして統合することによって、アプリケーションの構成設定と機能フラグを管理します
XAML ツール (WPF、WinUI、UWP & Xamarin.Forms)
MVVM ツール
- MVVM のサポートの強化: このリリースでは、使用可能なビューモデルにプロパティとコマンドを生成するために、XAML エディターに電球を導入しました。 また、IntelliSense のバインディングを向上させるために、XAML のデザイン時の DataContext を使用可能なビューモデルに設定するのに役立つよう、電球を追加しました。
Xamarin.Forms
このリリースでは、Xamarin.Forms の開発者向けに複数の機能強化が行われています。
XAML ホット リロードの "変更のみ" モードが Xamarin.Forms 5.x プロジェクトの既定値になりました: Visual Studio 16.9 XAML ホット リロード以降では、"変更のみ" モードが、Xamarin.Forms 5.x 以上をターゲットとするプロジェクト用の既定の XAML ホット リロード エクスペリエンスになりました。 "変更のみ" は Xamarin.Forms 5.x 以降にのみ対応しているため、4.x をターゲットとするプロジェクトは "ページ全体" の XAML ホット リロードに自動的にフォールバックされます。 Xamarin.Forms 5.x を使用しており、何らかの理由で従来の "ページ全体" のホット リロード モードを使用することを希望する場合は、[ツール] > [オプション] > [デバッグ] > [Hot Reload] (ホット リロード) の下のホット リロードの設定で変更できます。
[出力] ウィンドウでの XAML ホット リロード状態の更新: XAML ホット リロードを利用している Xamarin.Forms のお客様は、[出力] ウィンドウを使用することで、XAML ホット リロード パイプラインで起こっていることの詳細を確認できるようになりました。 開始するには、[表示] > [出力] を選択して [出力] ウィンドウを開き、ウィンドウ上部の [Show output from] (次からの出力を表示する) の下にある [Xamarin Hot Reload] (Xamarin ホット リロード) を選択します。
- Xamarin.Forms + UWP – System.ExecutionEngineException が解決されました: Visual Studio 2019 バージョン 16.8 のリリース以降、Windows (UWP) をターゲットとする Xamarin.Forms アプリを開発者がデバッグする場合に System.ExecutionEngineException エラーをトリガーするランタイム例外が誤って導入されています。 このリリース (16.9 Preview 4) 以降では、Microsoft.NETCore.UniversalWindowsPlatform NuGet (バージョン 6.2.12+) への更新プログラムと併用することで、この問題は解決されるようになります。 メモ:この修正は、Visual Studio 2019 バージョン 16.9 だけを対象としたものではありません。 新しい NuGet パッケージを使用するようにプロジェクトを更新すると、Visual Studio バージョン 16.9 でもこの問題が解決されます。
Tools for Unity
- [ローカル] ウィンドウの新しい Active Scene ノードでのデバッグ中にルートのゲーム オブジェクトを表示します。
- [ローカル] ウィンドウの新しい this.gameObject ノードでのデバッグ中に、ゲームオブジェクトのすべてのコンポーネントを表示します。
- [ローカル] ウィンドウの Children ノードと Components ノードを使用して、すべての子ゲーム オブジェクトおよびコンポーネントを表示します。
- Active Scene プロパティで検査するときに、シーン内のゲームオブジェクトの位置を確認します。
- ソース ジェネレーターでエンティティを使用するときの JobEntityBatch/ラムダのサポート。
- インデックス バケットを使用して大きな配列を表示するためのサポートを強化しました。
- レイトレース シェーダー、UXML および USS ファイルの構文を強調表示します。
- Unity プロジェクトを使用するときに、Visual Studio で不足しているコンポーネントが検出され、それらをインストールするように求められるようになりました。
- コルーチンとして使用されているすべてのメソッドの Unity メッセージ API を更新しました。
- 新しい Git UX のプレビュー機能フラグを更新し、製品チームに直接アクセスできるフィードバック提供リンクを組み込みました。
- チーム エクスプローラー ホーム ページと接続ページに、新しい Git UX に移行するための詳細なコンテンツが表示されます。
- ブランチ プッシュ通知でのカスタム リモートのサポート。
- チェックアウトするには、[Git リポジトリ] ウィンドウでブランチをダブル クリックします。
- キーボード ショートカット Ctrl + Enter で変更をコミットします。
- [Git Changes](Git 変更) ウィンドウからすべてのタグをプッシュします。
- Visual Studio インストーラーの起動時の昇格が不要
- Visual Studio インストーラーでの HDR ディスプレイのサポート
- Visual Studio インストーラーでのナビゲーター スクリーンリーダーのサポート
- インストーラーの更新プログラムが Visual Studio の更新プログラムに統合され合理化
- Visual Studio インストーラーのダーク テーマの追加サポート
Visual Studio 2019 バージョン 16.9.0 の新機能の詳細
Git の生産性
- キーボード ショートカット Ctrl + Enter での変更のコミット
- [Git Changes](Git 変更) ウィンドウからすべてのタグをプッシュします。
.NET の生産性
- WSL 2 を使用した .NET Core のデバッグにより、Visual Studio から WSL 2 内で .NET Core コンソールと Web アプリケーションを実行し、デバッグすることができます。 これにより、Linux の運用環境を対象とする Windows 開発者は、より忠実性の高いローカル デバッグ エクスペリエンスを実現できます。
- 競合のないシナリオで
new(…)
の使用を提案するリファクタリングがあります。 フィールド宣言にカーソルを置きます。 (Ctrl+. ) キーを押して、 [クイック アクションとリファクタリング] メニューをトリガーします。 [‘new(…)’ を使用します] を選択します。
- C# と Visual Basic の両方について、冗長な等価式を削除するコード修正があります。 冗長な等価式にカーソルを置きます。 (Ctrl+. ) キーを押して、 [クイック アクションとリファクタリング] メニューをトリガーします。 [Remove redundant equality](冗長な等式を削除) を選択します。
- ビルド時に .NET コード スタイル (IDE) アナライザーを適用できるようになりました。 .NET コード スタイル アナライザーを C# と Visual Basic 用の NuGet パッケージとしてインストールすることも、 [プロジェクトのプロパティ] で有効にすることもできます。 [プロジェクトのプロパティ] に移動するには、ソリューション エクスプローラー内でプロジェクトを右クリックし、 [プロパティ] を選択します。 次に、 [コード分析] タブを選択します。ここで、 [Enforce CodeStyle on build (experimental)](ビルド (試験段階) で CodeStyle を適用) を選択できます。
- (.NET Compiler Platform SDK と共にインストールされた) Syntax Visualizer に、強化された色に対する現在の前景色が表示されるようになりました。 ビジュアライザーを使用して、色を変更するテキストに移動するか、エディター内で選択してから、分類された色をクリックして変更します。
- pragma 警告の診断 ID をポイントすると、ツールヒントが表示されるようになりました。 診断ツールヒントには、ドキュメントに移動するクリック可能なリンクもあります。
- コメント内から Return キーを押すと、新しい行が自動的にコメント アウトされるようになったことがわかります。これは、既定でオンになっている新しいオプションです。 新しい行が自動的にコメント アウトされないようにするには、 [ツール]>[オプション]>[テキスト エディター]>[C#] または [基本]>[詳細設定] を選択し、 [Insert // at the start of new lines when writing // comments](// コメント を記述するときに新しい行の先頭に // を挿入) をオフにします。
16.8 Preview 2 では、関数呼び出しの各引数の前に、リテラル、キャストされたリテラル、オブジェクト インスタンス化に対する装飾が挿入されるインライン パラメーター名ヒントを追加しました。 このリリースでは、次のような機能強化を追加しました。
挿入する装飾の種類のカスタマイズ オプションの増加。
推論された型とラムダ パラメーター型を持つ変数のインライン型ヒント。
パラメーター名がメソッドの意図と一致する場合、およびパラメーター名がサフィックスのみ異なる場合に、インライン パラメーター名ヒントを無効にするオプション。
新しいファイルに型をコピーして貼り付けるときに、Using ディレクティブが自動的に追加されるようになりました。 最初に、 [ツール]>[オプション]>[テキスト エディター]>[C#] または [Basic]>[詳細] でこのオプションをオンにし、 [Add missing using directives on paste] (不足している using ディレクティブを貼り付け時に追加する) を選択します。
;
を押して入力候補一覧からのメソッドを受け入れると、オブジェクト作成とメソッド呼び出しの場合に括弧とセミコロンが IntelliSense によって自動的に挿入されるようになります。
- C# 9.0 のレコードで、セマンティックが色付けされるようになりました。 色は、 [ツール]>[オプション]>[環境]>[フォントおよび色] でカスタマイズできます。 [アイテムの表示] で [User Types – Records] (ユーザーの型: レコード) にスクロールし、レコードに適用する色を選択します。
- C# 9.0 の特定のパターン マッチングでは、破棄は不要です。 不要な破棄はフェードし、それらを削除するコード修正プログラムを提供するようになりました。 フェードされた破棄にお使いのカーソルを置きます。 (Ctrl+. ) キーを押して、 [クイック アクションとリファクタリング] メニューをトリガーします。 [Remove unnecessary discard] (不要な破棄を削除する) を選択します。
- 逐語的文字列と標準文字列を、出力に表示することを意図した中かっこを保持し、補間された文字列に変換するリファクタリングが用意されました。 文字列が定数に割り当てられている場合、このリファクタリングは表示されません。 文字列にカーソルを置きます。 (Ctrl+. ) キーを押して、 [クイック アクションとリファクタリング] メニューをトリガーします。 [挿入文字列に変換する] を選択します。
モジュールと共有しているメソッドを変換するときに shared キーワードが削除されるコード修正プログラムが Visual Basic に用意されました。
プリプロセッサ シンボルに対する IntelliSense 入力候補が追加されました。
#if
ディレクティブの入力を開始すると、現在スコープで定義されているシンボルの新しい入力候補オプションが表示されます。
- ソリューション エクスプローラーで、アナライザー ノードの下に新しい .NET 5.0 ソース ジェネレーターが表示され、生成されたコードを簡単に移動して表示できるようになりました。
- [すべてに移動] ウィンドウには、netcoreapp3.1 と netcoreapp2.0 間で重複する結果も、別の入れ子にされた型をラップするためだけに存在する部分型の結果も表示されません。 これで結果を整理しやすくなり、コードの検索と移動が簡単になります。 また、結果には、部分シンボルのファイル名も含まれるようになりました。
- クイック ヒントに、抑制のためのコンパイラの警告 ID または番号が表示されるようになりました。 警告 ID または番号の上にカーソルを置くと、その診断 ID のクイック ヒントが表示されます。
ご協力に感謝いたします。
最後になりましたが、今月の .NET の生産性 (または Roslyn) に貢献してくれた以下の方々に "感謝" いたします:
- Youssef Victor (@Youssef1313):
- Martin Strecker (@MaStr11):
- Joseph Musser (@jnm2):
- Huo Yaoyuan (@huoyaoyuan):
- Jon Senchyna (@TheSench):
using
キーワードを明確に区別する機能 PR #48898 - Mathias Lykkegaard Lorenzen (@ffMathy): 提案の最大数を 5 に増加 PR #49687
- Alireza Habibi (@alrz):
use pattern matching
コード修正の暗黙的な変換に対して明示的なキャストを生成する PR #49757 - Raf (Raffaele Rialdi) (@raffaeler): 単一行で自動プロパティを正規化するためのサポートを追加しました PR #49495
- Youssef Victor (@Youssef1313):
- モジュール メンバーから Shared を削除する Visual Basic のコード修正プログラムの実装 PR #48289
- CSharpSyntaxFacts での init アクセサーのサポート PR #48137
- テストで既定の WarningLevel を上げる PR #47077
- 不要な抑制を削除する PR #48277
- レコードで動作する Extract Method のリファクタリング PR #48531
- 非表示の診断の WarningLevel の修正 PR #48397
- Find All References のカウントのターゲット型の新しいバグの修正 PR #48434
- かっこが含まれる場合の正しい解析 PR #48598
- 例外フィルターに switch 式が含まれる場合の InvalidCastException の修正 PR #48260
- Louis Zanella (@louis-z): 標準および逐語的文字列を、中かっこを保持する補間された文字列に変換するリファクタリングの実装 PR #48502
- Shimmy (@weitzhandler): メンバー間の既定のコンストラクターの提案 PR #48503
- Kai Jellinghaus (@HurricanKai: GreenNode.CreateList の静的化とすべての使用の調整 PR #48536
- Jon Senchyna (@TheSench):
- Petr Onderka (@svick): dynamic およびタプルのドキュメント コメント ID の処理の修正 PR #48359
- Huo Yaoyuan (@huoyaoyuan):
- Rastislav Novotny (@duracellko): 2 項演算子における NotNullIfNotNull のサポート PR #48490
- Alireza Habibi (@alrz): より適切なエラー回復のために null 許容型パターン解析を修正 PR #48447
- Lingling Tong (@LinglingTong): XAML での LSP プル モデル診断の有効化 PR #49145
- David Maas (@PathogenDavid): 上位レベルのステートメントを使用したモジュールレベルの SkipLocalsInit の修正 PR #49435
- Martin Strecker (@MaStr11): Quick Info での抑制のための警告番号のサポート PR #49102
- Adam Speight (@AdamSpeight2008): パフォーマンスの向上 PR #49459
- Adam Ralph (@adamralph): パブリック メソッドにオプション パラメーターを追加する場合の無効なコード スニペットの修正 PR #48725
.NET Web ツール
- Steeltoe アプリケーションを、Visual Studio での発行 (例: ソリューション エクスプローラーで右クリック > [発行]) を使用して Azure Spring Cloud にデプロイします。 このオプションが表示されない場合は、お使いのプロジェクトに NuGet パッケージ Microsoft.Azure.SpringCloud.Client バージョン 1.0.0-preview.1 以降が必ず含まれるようにしてください。
Web ツール
App Configuration を接続済みサービスとして追加すると、アプリケーションが Azure App Configuration リソースに自動的に接続されます。 .NET Core コンソール プロジェクト用のコードを自動的に生成できるようになりました。また、.NET Framework プロジェクト用の NuGet パッケージを自動的に追加できるようになりました。 この接続済みサービスをアプリに統合するには、 [接続済みサービス] をクリックし、Azure App Configuration を [サービスの依存関係] として追加します。
- [接続済みサービス] タブで Azure App Configuration がサポートされるようになりました。 App Configuration を使用すると、アプリケーション設定と機能フラグを一元的に管理できます。 このサービスの依存関係を追加すると、App Configuration リソースに接続するようにコードが自動的に更新されます。 これには、最新の NuGet パッケージのインストールと、ローカルまたは Key Vault へのシークレットの格納が含まれます。
Visual Studio インストーラー
お客様の要望に応え、Visual Studio のインストーラーに新しい機能がいくつか組み込まれました。
現在、多くのユーザーはインストーラーを使用して Visual Studio の複数のコピーを、識別、起動および管理しています。 この利用パターンを支援するため、Visual Studio のインストーラーを起動するとき、昇格が不要となりました。昇格は、Visual Studio およびマシンに対して変更を加えるときのみ必要です。 インストール構成のエクスポート、ニュース間の移動、更新の詳細の表示などのその他のアクティビティでユーザーが最初に昇格する必要がなくなりました。
インストーラーの以前のバージョンでは、追加の手順を踏んで、インストーラーをアップデートすることを時折ユーザーに求めていました。 このアップデートでは、必要なインストーラーのアップデートはインストール操作の一環として処理され、その追加の手順を踏む必要がなくなりました。
インストーラーにダーク モードのテーマが選択肢として追加されました。 ユーザーは、タイトル バーの太陽と月 (☼ と ☽) のボタンを使用して、インストーラーのテーマを変更できます。 アップデートが Visual Studio IDE から開始された場合、Visual Studio で現在選択されているテーマが使用されます。
テスト エクスプローラーのオーディオ キューとアクセシビリティの更新
- テスト エクスプローラーでは、テストの実行が完了したときに音を鳴らすことができるようになりました。 2 種類のサウンドを選択できます。1 つは、テストの実行が成功し、すべてのテストに合格したことを示し、もう 1 つのサウンドは、テストの実行が完了し、少なくとも 1 つのテストに失敗したことを示します。 この機能はユーザー要求として開始されました。視覚障碍をお持ちの開発者にとって有益なオーディオ キューを追加することによって、テスト エクスプローラーのアクセシビリティが向上します。 サウンドの選択では既定の Windows 10 サウンド ダイアログが使用され、事前設定されたサウンドの中から選択したり、"コンピューター内の任意のオーディオ ファイル" を選択したりすることもできます。
- スクリーン リーダーによる読み上げ時により簡潔な語句と単語の順序を使用することで、テスト エクスプローラーの [グループ化] のアクセシビリティが向上しました。
- 特別なドキュメント コントロールではなく、ログ ファイルを直接開くリンクを使用することにより、テスト エクスプローラーの [テストの詳細] ペインからの長いテスト出力を表示しやすくなりました。
テスト エクスペリエンス
- Fakes を使用する .NET Core テスト プロジェクトでコード カバレッジの収集のサポートが追加されました。
- 複数のコード カバレッジ レポートのマージに必要な時間が減りました。
IntelliCode
- IntelliCode では、繰り返しの編集の提案が IntelliSense 入力候補一覧内で直接提供されるようになりました。 入力候補の項目から直接、提案された変更内容のプレビューを表示したり、その場所に適用したり、そのような提案を無視したりすることができます。 IntelliCode の提案に関する詳細を参照してください。
試験段階の Razor エディターの更新
- HTML と C# のセマンティクスの色づけ
- 閉じた Razor ファイルに反映された C# シンボルの名前変更
- Razor ファイル内の C# 電球の増加:
DebuggerDisplay
属性の追加- プロパティの作成と割り当て
- フィールドの作成と割り当て
- たとえば "パターンあり" のサポートなど、インターフェイスまたは抽象クラスの実装。"破棄パターンを使用したインターフェイスの実装"
- 等式、ハッシュコード、コンストラクターの生成
- パラメーターの null チェックの追加とすべて null のチェックの追加
- Razor ファイル内の混在したコンテンツの書式設定の強化
試験段階の Razor エディターを有効にするには、 [ツール]>[オプション]>[環境]>[プレビュー機能] に移動し、 [Enable experimental Razor editor](試験段階の Razor エディターを有効にする) を選択してから、Visual Studio を再起動します。
Developer Community から
Developer Community には、このリリースに付属しているすべての項目の完全な一覧があります。
16.9.0 でリリースされた上位の問題の一部を次に示します。
- [クイック検索] ダイアログが、現在のタブ グループ (右側) 内の現在のファイル以外のタブ グループ (左側) に開かれる
- 月を解析する場合の大文字と小文字の区別
- .NET 5 を対象とする WPF アプリケーションをコンパイルできない
- デバッグ中に "エディット コンティニュ" 操作を続行した後、VisualStudio 16.6.5 がクラッシュする
- Javascript エディターの構文/intellisense によるバグの強調表示
- MSBuild Linux プロジェクト上ではデバッグなしでの開始が機能しない
- SoftDebuggerSession.cs - オブジェクト参照が行 1612 に設定されない
- クラス内の非静的メンバーの初期化時に、MSVC 16.7 によって、このポインターの使用に対して C2355 が誤ってスローされる
- Xamarin はV16.7 に更新されるため、ビルドは警告により乱雑になる
- IntelliCode 2.2.733.31896 を無効にすると、.ts ファイルを編集するときに CompositionFailedException により TypeScript 3.x が中断する
- "値を null にすることはできません。 パラメーター名: hierarchy"。
- Typescript intellisense が停止したままになる
- using 宣言を使用して公開された継承メンバー関数のアドレスの取得が C2448 で失敗する
- Visual Studio 2019 16.8 の .NET Core 3.1 および .NET 5.0 の ClickOnce 発行ウィザードでデプロイ publish.htm が生成されない
- 特定のルールを警告に設定しているにもかかわらず、更新プログラム 16.8 後に多数のコード解析エラーが表示される
- 不正なコードが生成されエラーが表示されない
- VS 16.7.0 での内部コンパイル エラー
- 以前はなかった 16.7 の不具合 auto constexpr と deduced array #include using std::array; void f() { using A1 = array; auto const v1 = array{
- パーティションを使用したモジュールがコンパイルされない
- 16.7.4 におけるソース コントロール "ビルドまたはデバッグが進行中のとき、ソリューションの背後でファイルを変更する操作を開始できない"
- 以前はなかった不具合: 16.7.0 の /std:c++17 (compiler file 'msc1.cpp', line 1591) での c++ 内部コンパイラ エラー
- CMakeFiles.txt または CMakeSettings.json ファイルに触るたびに VS2019 がまだ CMakeBuild ディレクトリをワイプする
- メソッドを作成しようとすると Visual Studio 16.8.0 が消える
- 変更後ファイルが保存されない
- VS2019 16.8.0 prevew 1 で static_cast を使用した配列のリストの初期化が constexpr 関数でコンパイルに失敗する
- 最新の VS で clan clang-cl を使用して std をコンパイルするときのバグ
- [MSConnect 3093410] 区切り文字を使用せずに書式を使用すると std::get_time が失敗する
- ASIO で Coroutines-TS を使用すると IntelliSense が動作を停止する
- ASIO で Coroutines-TS を使用すると IntelliSense が動作を停止する
- Windows がハイ コントラスト モードのとき、Visual Studio でハイ コントラスト テーマを使用することが強制される。
- 明示的な continue および break ステートメントを含む無限ループ コンストラクトを使用する場合、Visual Studio 2019 で正しくないコードが生成される。
- "検証 (CSS 4.0) の警告が、CSS 3.0 の検証に変更するオプションなしで表示される
- Intellisense: scss マップで予期しない文字シーケンスが報告される
- VS 2019 で診断ツール ペインが空白になったり破損したりする
- VS for Linux: 複雑なソリューションでビルドのキャンセル (Ctrl + Break) が機能しない。 VS を閉じられない。
- git のマージしてコミットしない操作のバグ
- 新しいレポート (.rdl) の追加が失敗し、"メンバーが見つかりません 0x80020003 DISP_E_MEMBERNOTFOUND" というエラーが表示される
- モジュールおよび chaiscript: 内部コンパイラ エラー
- 共有プロジェクト参照でリモート linux デバッグ パスが破損している
- 16.8 でタスク ランナー エクスプローラーが破損している
- operator decltype を含む c2833
- 既定の VB.Net Core WinForms プロジェクトで設定の作成中にエラーが発生する。
- Microsoft Azure Tools:メソッドが見つかりません:'Void Microsoft.WindowsAzure.ServiceModel.Service.set_IsSLBPartialGS(Microsoft.WindowsAzure.ServiceModel.Expr
- __is_nothrow_constructible 組み込みによって、スローする可能性のある引数の変換が無視される
- "準拠モード" で /permissive を選択できない
- プロジェクト参照を使用した Linux リンクが失敗する
- Windows がハイ コントラスト モードのとき、Visual Studio でハイ コントラスト テーマを使用することが強制される
- 特定のルールを警告に設定しているにもかかわらず、更新プログラム 16.8 後に多数のコード分析エラーが表示される
- ClickOnce によってインストールされた .NET Core 3.1 または .NET 5.0 アプリケーションがインストール後に起動しない場合がある。
- C33005 が _variant_t で擬陽性になる
- Git のマージとコミット操作のバグ
- net 5.0-windows* TFM でタスクまたは並列スタックの情報を表示できない
- SQL の Schema Compare で [更新] をクリックすると sqlproj ファイルへの変更が保存されない
- データベース プロジェクト: ソリューション エクスプローラーから、開いているファイルにファイルをドラッグすると、ファイル システムからファイルが削除される
- Intellicode モデル トレーニングが Visual Studio 2019 で失敗する
- Open LiveShare コラボレーション セッションが失敗する
既知の問題
Visual Studio 2019 のすべての未解決のイシューと、利用可能な回避策を以下のリンクから参照してください。
フィードバックと提案
皆様のご意見をお待ちしております。 問題がある場合は、インストーラーまたは Visual Studio IDE 自体の右上隅にある [問題の報告] オプションからお知らせください。 右上隅に アイコンがあります。 製品に関する提案をしたり、Visual Studio 開発者コミュニティで問題を追跡したりすることにより、質問、回答の検索、新機能を提案したりすることができます。 ライブ チャット サポートを介して、無料のインストールのヘルプを取得することもできます。
ブログ
開発者ツールのブログで提供されている洞察や推奨事項を活用すると、すべての新しいリリースに関する最新情報を入手し続けることができ、さまざまな機能について掘り下げた記事を参照することもできます。
Visual Studio 2019 リリース ノート履歴
過去のバージョンの Visual Studio 2019 に関連する詳細については、「Visual Studio 2019 リリース ノート履歴」のページを参照してください。