Visual Studio 2022 バージョン 17.1 リリース ノート
ヒント
Visual Studio 2022 のローンチ イベントの録画を視聴して、新機能について学習し、ヒントやテクニックを確認して、無料のデジタル Swag をダウンロードしてください。
Developer Community | Visual Studio 2022 ロードマップ | システム要件 | 互換性 | 再頒布可能コード | リリース履歴 | ライセンス条項 | ブログ | 最新リリースの既知の問題 | Visual Studio のドキュメントの最新情報
Visual Studio 2022 バージョン 17.1
サポート期間
このバージョンはサポート対象外になりました。 Visual Studio でサポートされるベースラインの詳細については、Visual Studio 2022 のサポート ポリシーに関するページを参照してください。
最新バージョンの Visual Studio 2022 をダウンロードするには、最新バージョンのリリース ノートを参照するか、Visual Studio サイトをご覧ください。
Visual Studio 2022 バージョン 17.1 リリース
- 2022 年 5 月 10 日 — Visual Studio 2022 バージョン 17.1.7
- 2022 年 4 月 26 日 - Visual Studio 2022 バージョン 17.1.6
- 2022 年 4 月 19 日 - Visual Studio 2022 バージョン 17.1.5
- 2022 年 4 月 12 日 — Visual Studio 2022 バージョン 17.1.4
- 2022 年 3 月 31 日 — Visual Studio 2022 バージョン 17.1.3
- 2022 年 3 月 22 日 — Visual Studio 2022 バージョン 17.1.2
- 2022 年 3 月 8 日 — Visual Studio 2022 バージョン 17.1.1
- 2022 年 2 月 15 日 — Visual Studio 2022 バージョン 17.1.0
Visual Studio 2022 ブログ
Visual Studio 2022 ブログは、Visual Studio エンジニアリング チームから製品に関する分析情報を提供する公式の情報源です。 Visual Studio 2022 リリースの詳細については、次の投稿を参照してください。
Visual Studio 2022 アーカイブされているリリース ノート
Visual Studio 2022 バージョン 17.1.7
"リリース日: 2022 年 5 月 10 日"
17.1.7 のこのリリースで対処された問題
- Daytona の webview2 ベースラインを更新しました。
Developer Community から
セキュリティ アドバイザリ メモ
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 2022 バージョン 17.1.6
リリース日: 2022 年 4 月 26 日
17.1.6 のこのリリースで対処された問題
- C++ コンパイラ (CL.exe) でコード分析のビット単位の列挙型チェックを実行するとクラッシュすることがある問題を修正しました。
- iPhone Simulator - "致命的なエラー: ファイル 'System.Memory' を読み込めませんでした" を修正しました。
- VisualCPP SxS に含まれる vctip.exe の 17.0.8 からの回帰を修正しました
- Windows 11 で Address Sanitizer (ASAN) を使ってビルドされた一部のアプリケーションを読み込むことができないという VisualCPP SxS のバグを修正しました。
- ヒープ競合のあるマルチスレッド アプリケーションで、デッドロック、誤った "ワイルド ポインター解放" レポート、またはプロセス終了時のデッドロックが発生する可能性があるという VisualCPP SxS の別の ASAN に関する問題を修正しました。
Developer Community から
Developer Community には、17.1 で利用可能な修正の完全な一覧があります。
Visual Studio 2022 バージョン 17.1.5
リリース日: 2022 年 4 月 19 日
17.1.5 のこのリリースで対処された問題
- vctip.exe の 17.1.4 からの回帰を修正しました
- 'オフライン マシンに Visual Studio 用の任意の拡張機能 (vsix) をインストールできない' 問題を修正しました。
Developer Community から
Developer Community には、17.1 で利用可能な修正の完全な一覧があります。
- Launch-VsDevShell が厳格モードで動作しなくなりました
- 'wss://...' への WebSocket 接続に失敗しました。 ASP .Net Core Web アプリケーション。 更新プログラム 17.1 の後のバージョン
Visual Studio 2022 バージョン 17.1.4
リリース日 2022 年 4 月 12 日
注意
セキュリティの脆弱性 CVE-2022-24765 に対処するために Visual Studio の Git バージョンを更新した結果、Visual Studio で Git リポジトリが表示されないエラーが特定の Git ユーザーに発生する場合があります。
ユーザーが管理者ユーザーとしてリポジトリをクローンまたは作成し、非管理者ユーザーとしてそれを表示または使用しようとした場合、この問題の影響を受ける可能性があります。 この問題が発生し、開こうとしているリポジトリを信頼している場合は、Git for Windows にアクセスできるコマンド プロンプト、PowerShell、またはターミナルから次のコマンドを実行して、安全なディレクトリの一覧に追加することができます。
git config --global --add safe.directory <path-to-repository>
この問題の詳細を確認し、最新情報を追跡するには、Developer Community を参照してください。
17.1.4 のこのリリースで対処されたイシュー
- テンプレート内の 'new' の呼び出しで、引数依存の検索で正しい '演算子 new' 関数が見つからない問題を修正しました。
- デザイナーの読み込みが失敗する原因となる、Windows フォーム .NET Framework デザイナーのデザイン時の型解決の問題を修正しました。
- "HotRestart.Tasks.DetectSigningIdentity" タスクが予期せず失敗したことを修正しました。
- インストーラーのコマンド ラインを追加して、未使用のチャネルを削除しました。
既知の問題
- Apple デベロッパ アカウントの証明書とプロビジョニング プロファイルの同期は、社内で展開して使用することを目的としたアカウントを除き、サポートされていません。 この問題を回避するには、証明書とプロビジョニング プロファイルを Apple デベロッパ アカウントの Web サイトから直接ダウンロードしてください。
Developer Community から
セキュリティ アドバイザリ メモ
CVE-2021-43877 ASP.NET Core および Visual Studio 特権の昇格の脆弱性 ASP.NET Core モジュール (ANCM) に特権の昇格の脆弱性が存在します。これにより、.NET Core、.NET 5、.NET 6 アプリケーションが IIS 内でホストされている場合に特権が昇格されるおそれがあります。
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 2022 バージョン 17.1.3
"リリース日: 2022 年 3 月 31 日"
17.1.3 のこのリリースで対処されたイシュー
- Apple Xcode 13.3 のサポートが導入されました。
- Xcode 13.3 使用時の iOS IPA ジェネレーター エラー (エラー ITMS-90207) を修正しました。
- <メール> アカウントを Apple 開発者ポータルと同期できなかった問題を修正
- TFVC を長期間 (1 時間以上) 使用すると Visual Studio がハングまたはフリーズする問題を修正しました。
- Visual Studio SQL Server Data Tools から Azure SQL Managed Instance に接続する際の、"互換性のない SQL Server バージョンが検出されました" というエラー メッセージを修正しました。
既知の問題
- Visual Studion 2022 と Apple Xcode 13.3 を使用して iOS アプリを配置すると、空白または黒い画面のリモート iOS シミュレーター ウィンドウが表示されます。 回避策: [ツール] - [オプション] メニューの [iOS の設定] で、[リモート Simulator から Windows へ] チェック ボックスをオフにします。 iOS アプリは、macOS ホストでは正しく配置されます。
Developer Community から
Developer Community には、17.1 で利用可能な修正の完全な一覧があります。
Visual Studio 2022 バージョン 17.1.2
"リリース日: 2022 年 3 月 22 日"
17.1.2 のこのリリースで対処されたイシュー
- テスト実行の一部のアニメーションが、関連するテスト実行が完了してもバックグラウンドで実行される問題を修正しました。 これによって発生する減速は、高リフレッシュ レートのモニターで特に顕著でした。 この修正により、リフレッシュ レートの高いモニターで VS を使用するエクスペリエンスが向上します。
- Visual Studio を開くときにスタック トレース エクスプローラー ウィンドウが自動的に開くのを無効にします。 これは、引き続きオプションで有効にすることができます。
- ドキュメント タブのドラッグによるドッキングがドッキング ガイドでのみ機能し、他のドキュメント タブでは機能しない回帰を修正しました。
- 散発的なリンカーのハングに関する問題を修正しました。
Developer Community から
Developer Community には、17.1 で利用可能な修正の完全な一覧があります。
- Windows フォーム 5 デザイナー プレビューでスクリーン リーダーにアクセスできない
- Visual Studio の最小化を解除できない
- TFS エラー: TF30063 権限がありません
- ドキュメント タブをドキュメント タブ内の特定の位置にもドラッグ アンド ドロップできなくなった
Visual Studio 2022 バージョン 17.1.1
"リリース日: 2022 年 3 月 8 日"
17.1.1 のこのリリースで対処されたイシュー
Developer Community から
Developer Community には、17.1 で利用可能な修正の完全な一覧があります。
- カスタム コマンドで CONFIG を使用した場合の 17.1.0 での CMake->vcxproj の回帰
- VSSDK: VS 17.1.0 Preview 5.0 が IVsObjectManager.UnregisterLibMgr() の後にハングする
セキュリティ アドバイザリ メモ
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 2022 バージョン 17.1.0
リリース日: 2022 年 2 月 15 日
Visual Studio 2022 バージョン 17.1.0 のこのリリースの新機能の概要
C++
- CMake プロジェクトを構成し、CMakePresets.json を使用してリモート macOS システムでビルドされるように、新しいプリセットの構成のテンプレートが追加されました。 また、リモート macOS システム上で CMake ターゲットを起動し、GDB または LLDB が搭載されている Visual Studio デバッガーのフロントエンドでデバッグすることもできます。
- リモート macOS システム上のコア ダンプを、LLDB または GDB で Visual Studio からデバッグできるようになりました。
- Visual Studio に付属する Clang および LLVM のバージョンが、v13 にアップグレードされました。
- Visual Studio の CMake 統合は、開いているワークスペースのルートで CMakeLists.txt が識別された場合にのみアクティブになります。 CMakeLists.txt が別のレベルのワークスペースで識別されている場合は、通知によって Visual Studio の CMake 統合をアクティブ化するように求められます。
- 埋め込みターゲット用の新しいレジスタ ビジュアル化ウィンドウが追加されました。[デバッグ] > [Windows] > [埋め込みレジスタ] で利用できます。
- RTOS プロジェクト用の新しいスレッド ビューが追加されました。[デバッグ] > [ウィンドウ] > [RTOS オブジェクト] で利用できます。
デバッグと診断
- StickyDataTips と呼ばれる新しい機能が追加されました。つまり、クリックするまで、DataTips を展開しておくことができます。 これにより、DataTips 内でのオブジェクトの評価が非常に簡単になります。 この機能を有効にするには、[ツール] > [オプション] > [デバッグ] > [全般] でチェックボックス "クリックするまで展開した DataTips を開いたままにする" をオンにします。
- Microsoft Azure App Service の [プロセスにアタッチ] のサポートが追加されました。
[エディター]
- ファイルが明示的に保存されるたびに実行されるように、コード クリーンアップ機能を構成できるようになりました。 [ツール] > [オプション] の [テキスト エディター] > [コード クリーンアップ] では、新しいオプションを使用することで、ユーザーは明示的な保存に対してコード クリーンアップを有効にしたり、実行するプロファイルを選択したりできます。 このオプションでは、自動保存時にコード クリーンアップが実行されないことに注意してください。
Git ツール
- Visual Studio に分岐を比較する機能が追加されました。
- コミットのチェックアウト機能を含む、デタッチされたヘッド状態の機能強化が導入されました。
- 複数リポジトリで同時に分岐を作成できる機能を含む、複数リポジトリの分岐に関する機能強化 (プレビュー機能)。
- Visual Studio で新しい Git リポジトリを作成するときに README ファイルを含める機能が追加されました。
- ホバー ボタンを使用して一般的に使用される分岐をピン留めする機能が強化されました。
- 作業項目を新しいコミットと関連付けるためのより見つけやすい UI が構築されました。
IDE
- ファイル拡張子またはプロジェクトごとにタブに色を付けるために、配色を切り替える機能が追加されました。
- 色のタブを有効にしたときにタブの色をカスタマイズできる機能を追加しました。 色のタブを右クリックし、[タブの色の設定] を選択します。
インストールと更新
- インストール後に必要な再起動の数を減らしました。
- 再起動の必要は、システム ディレクトリ内で Visual C++ ランタイム ファイルが使用中に更新された場合に頻繁に発生しました。 通常、そのようなファイルは正しく更新されます。再起動は、置き換えられたファイルをクリーンアップするためにのみ必要です。 このような場合、VS インストーラーに再起動を推奨するダイアログが表示されるようになりました。
- 再起動を推奨するダイアログが表示された場合、お客様は (再起動せずに) Visual Studio IDE を起動できます。
- LTSC チャネルの有効期限に関する情報を [設定の更新] ダイアログに追加しました。
- 更新プログラムを実際に実行する場所とは別に、更新プログラムのソースの場所をプログラムで変更する機能を追加しました。 これにより、IT 管理者はプログラムによって更新チャネルを変更できるようになります。
Microsoft Azure App Service の [プロセスにアタッチ]
- ソリューションまたはプロジェクトを開かないまま、Windows App Service 用の .NET (Framework、Core、または 5 以降) にアタッチできるようになりました。 [プロセスにアタッチ] ダイアログを開き、[接続の種類] を [Microsoft Azure App Service] に変更し、[検索] を選択して、使用しているサブスクリプションを選択します。その後、そのリソース グループの下から App Service を見つけて、[OK] を選択します。 接続先のプロセスを見つけて、[アタッチ] を選択します。
Microsoft Teams 開発者ツール
- Teams Toolkit は、開発者が Microsoft Teams 用のエクスペリエンスを作成するのに役立つ Visual Studio 拡張機能であり、Microsoft Teams Framework (TeamsFx) の一部です。 Teams Toolkit と TeamsFx の詳細については、GitHub と Microsoft Teams のドキュメントを参照してください。
- Visual Studio インストーラーの ASP.NET Web 開発ワークロードで、Microsoft Teams 開発者ツール コンポーネントを選択できるようになりました。
- このコンポーネントをインストールすると、Teams Toolkit 拡張機能が追加されます。 新しい Teams タブ アプリケーションの作成を開始するには、新しい Microsoft Teams アプリ プロジェクト テンプレートを使用します。
.NET の生産性
待機可能な式の内部の
await
に対して、IntelliSense 入力候補が表示されるようになりました。 待機可能式の入力を開始すると、await
が入力候補の一覧に表示されるのが確認できます。静的メンバーを新しい型に移動するリファクタリングが用意されました。 静的メンバーにカーソルを置きます。 (Ctrl + .) キーを押して、 [クイック アクションとリファクタリング] メニューをトリガーします。 [Move static members to another type...](静的メンバーを別の型に移動する) を選択します。これにより、移動するメンバーを選択できるダイアログが開きます。
新しい C# 10.0 拡張プロパティ パターンを使用するようにコードを簡略化するリファクタリングが用意されました。 拡張プロパティ パターンを使用すると、他の再帰パターンを入れ子にするのではなく、入れ子になったメンバーを参照できるため、ノイズが軽減されます。 入れ子になったメンバー参照にカーソルを置きます。 (Ctrl + .) キーを押して、 [クイック アクションとリファクタリング] メニューをトリガーします。 [プロパティパターンの簡略化] を選択します。
変数のスワップを検出し、タプルを使用した値のスワップをサジェストするリファクタリングが用意されました。これにより、一時変数を順次使用して引数をスワップする代わりに、タプルを使用することができます。 値をスワップする一時変数割り当てにカーソルを置きます。 (Ctrl + .) キーを押して、 [クイック アクションとリファクタリング] メニューをトリガーします。 [Use tuple to swap values](タプルを使用して値をスワップする) を選択します。
コード定義ウィンドウで C# と Visual Basic がサポートされるようになりました。 コード定義ウィンドウを使用するには、Ctrl + W、D キーを押すか、[表示] > [コード定義ウィンドウ] の順に選択します。 次に、識別子の上にカーソルを置いて、コード内の移動や検索をします。
プロジェクト全体で null 許容参照型を有効にするリファクタリングが用意されました。
<Nullable>
enable</Nullable>
要素をプロジェクト ファイルに追加するか、#nullable enable プラグマをプロジェクト内のすべてのソース ファイルに追加することにより、null 許容参照型を有効にできます。 このプロセスの効率化に役立つように、新しい .NET プロジェクトの<Nullable>
enable</Nullable>
が自動的に含まれるようになりました。 既存の .NET プロジェクトでは、カーソルを #nullable enable プラグマに置くことによって、null 許容参照型を有効にできます。 (Ctrl + .) キーを押して、 [クイック アクションとリファクタリング] メニューをトリガーします。 [プロジェクトで null 許容参照型を有効にする] を選択します。タプルが 1 つのシグネチャ内に何度も出現する場合の、シグネチャ ヘルプの表示が改善されました。 簡略化されたビューには、そのタプルに含まれる内容を示す Structural 型のキーが含まれています。
コード行の上にカーソルを置かなくても、インライン診断を使用してエラーや警告を一目で把握できるようになりました。 インライン診断は既定で無効になっているので、[ツール] > [オプション] > [テキスト エディター] > [C#] または [Basic] > [詳細設定] の順に選択し、[Display diagnostics inline (experimental)] (診断をインラインで表示 (実験的)) を選択して有効にする必要があります。
参照されるアセンブリに埋め込みのソースまたはソース リンクが含まれている場合、埋め込みのソースとソース リンクが [定義へ移動] の一部として表示されるようになりました。 これを使用することにより、ターゲット シンボルを宣言する元のソース ファイルに移動できます。 シンボルにカーソルを置き、F12 キーを押すと、元のソース ファイルに移動します。
スタック トレース エクスプローラー ウィンドウもクリップボードのスタック トレースが表示されるようになりました。これをクリックして、関連するコードに直接移動することができます。 既定では、ソリューションからスタック トレースをコピーし、スタック トレース エクスプローラー ウィンドウにフォーカスを切り替えると、スタック トレースが自動的に表示されます。 スタック トレース エクスプローラー ウィンドウを開くには、[ビュー] > [その他のウィンドウ] に移動し、[スタック トレース エクスプローラー] を選択します。
Visual Studio 2019 で、EditorConfig 用の新しい UI が導入されました。 EditorConfig ファイルでコードのスタイルとフォーマットを定義することで、コードの一貫性を維持できます。 これらのファイルは、リポジトリ内のコードと共に存続し、同じソース管理を使用できます。 この方法では、そのリポジトリから複製するチームのすべてのユーザーに対してスタイル ガイダンスが同じになります。 このリリースでは、EditorConfig UI に命名スタイルを追加しました。 EditorConfig ファイルをプロジェクトまたはソリューションに追加するには、ソリューションエクスプローラー内のプロジェクトまたはソリューションの名前を右クリックします。 [新しい項目の追加] を選択します。 [新しい項目の追加] ダイアログ ボックスで、EditorConfig を検索します。 .NET EditorConfig テンプレートを選択して、既定のオプションで事前設定された EditorConfig ファイルを追加します。 新しい EditorConfig UI と新しい命名スタイル オプションに注意してください。
その他の改善
- PDB のソース情報から定義にアクセスする。
- 待機可能な式の内部での
await
に対する IntelliSense 入力候補。 - 静的メンバーを新しい型に移動するリファクタリング。
- 新しい C# 10.0 拡張プロパティ パターンを使用するようにコードを簡略化するリファクタリング。
- 変数のスワップを検出し、タプルを使用した値のスワップをサジェストするリファクタリング。
- コード定義ウィンドウでの C# および Visual Basic のサポート。
- プロジェクト全体で null 許容参照型を有効にするリファクタリング。
- タプルが 1 つのシグネチャ内に何度も出現する場合の、シグネチャ ヘルプの簡略化されたビューの機能強化。
- インライン診断を使用して、エラーや警告を一目で把握する。
ご協力に感謝いたします。
- 最後になりましたが、今月の .NET の生産性 (または Roslyn) に貢献してくれた以下の方々に "感謝" いたします:
- Youssef Victor (@Youssef1313):
- Petr Onderka (@svick):
- 位置指定パターンについては単純化しないことを推奨する PR #57676
- Saleh Ahmed Panna (@panna-ahmed)
- 見つからない警告メッセージのローカライズ PR #57502
- Pavel Krymets (@pakrym)
- コード コメントの先頭の空白は正規化しない PR #57414
- Kev Ritchie (@KevRitchie)
- FullyQualifiedFormat の動作について説明するドキュメントの更新 PR #57397
- Marcio A Braga (@MarcioAB)
- TextSpan.cs の更新 PR #57300
- Bernd Baumanns (@bernd5)
- "関数ポインターの呼び出しに "None" IOperation" があるのを修正 PR #57191
- Martin Strecker (@MaStr11):
- CS1591 のコード修正: inheritdoc の追加 PR #57004
- Paul M Cohen (@paul1956):
- "_ の後の LineContinuation の VB 書式設定が正しくない" イシューを最初に修正 PR #54559
.NET ホット リロード
- Blazor アプリケーションを構築する開発者向けに、次のイシューの解決策を含めた、.NET ホット リロードに対する複数の機能強化があります。
- WebAssembly (Wasm) アプリを構築する Blazor 開発者は、変更が実際に適用されたときに Rude 編集ダイアログが表示されたり、Rude 編集ダイアログが複数回表示されたりする場合があります。
- WebAssembly (Wasm) アプリを構築する Blazor 開発者は、Rude 編集ダイアログの再構築機能を使用して Razor ファイルに変更を加えた場合、永続的な Rude 編集状態になります。
- Blazor 開発者は、Visual Studio デバッガー (F5) を使用してホット リロードアプリを実行すると、セッションの終了が表示される場合があります。
- Blazor の開発者が error.cshtml ファイルを編集し .NET ホット リロードを使用してそれに変更を適用しようとすると、"デバッグを停止できません..." というメッセージと共に Visual Studio のデバッガーが停止します。 この機能の機能性と安定性の向上に向けて、Visual Studio の今後のリリースでは、より多くのバグの修正が行われる予定です。 問題が発生した場合は、Visual Studio の問題を報告する機能を使用して報告してください。
パフォーマンス
- ソリューションを終了するときのクリーンアップ操作を最適化することで、ソリューションの終了時のパフォーマンスを向上させることができます。
- Visual Studio では、コードベース内のファイルにインデックスが作成され、[フォルダーを指定して検索] エクスペリエンスがはるかに高速になりました。 [ツール] > [オプション] > [環境] > [プレビュー機能] でインデックス付き検索を無効にし、[インデックス作成を有効にして、より高速な検索エクスペリエンスを実現します] をオンにします。
Razor (ASP.NET Core) エディター
- 不足している using ディレクティブがクイック アクションで必要な場合に、Razor によって追加されるようになりました。
ソリューション フィルター
- ソリューション フィルター内のプロジェクトの依存関係ツリー全体を読み込みまたは再読み込みするためのオプションが追加されました。 新しいプロジェクトが依存関係ツリーに追加されても、ソリューション フィルターに手動で追加していない場合は、すべての依存関係を一度に簡単に追加できます。
- このオプション (プロジェクトの依存関係の更新) は、ソリューション ノードのコンテキストメニューにあります (ソリューション エクスプローラーでソリューションを右クリックします)。
テスト ツール
- テスト操作の進行中に、Visual Studio シェルの下部にテスト アニメーションが表示されるようになりました。 これはビルド アニメーションに似たもので、Visual Studio で何が行われているかがわかり、プロセスがクラッシュしていないことを示すインジケーターを提供します。
- コード カバレッジ ツールで、cobertura コード カバレッジ形式を生成できるようになりました。 これは runsettings で有効にできます。それには、runsettings ファイルの DataCollector 構成セクション で
<Format>Cobertura</Format>
を追加します。 この形式は、Visual Studio Enterprise の [コード カバレッジの結果] ウィンドウで表示できます。 - CLI から cobertura 形式で収集することもできます。そのためには、それを runsettings ファイル内で指定するか、パラメーター内で指定します。 dotnet CLI の場合は、
dotnet test --collect:"Code Coverage;Format=Cobertura"
を使用します。 vstest の場合、vstest.console.exe /collect:"Code Coverage;Format=Cobertura"
を使用します。 runsettings で指定された形式は collect パラメーターによってオーバーライドされます。
Web ツール
- Azure リソースをプロビジョニングして選択すると、Visual Studio では既定値が常に一覧の最初のエントリに設定される代わりに、フィールド "リソース グループ" と "場所" に対する以前の選択内容が記憶されます。 前の選択内容が使用できない場合でも、Visual Studio は、最も近い地理的位置を計算し、既定でこれを選択するようになりました。
- 発行プロファイルは、[公開の概要] ページの上部にあるドロップダウンに常にアルファベット順に表示されるようになりました。また、[Web の 1 クリック公開] という Visual Studio ツール バーのドロップダウンにも表示されます。
- Azure Container Apps のツール サポートは、Visual Studio プレビュー チャネルのままです。 Azure Container Apps の使用を続行するには、17.2 Preview 1 リリースをインストールしてください。
XAML ホット リロード
- XAML ホット リロードを .NET ホット リロードと共に使用すると、エンドツーエンドのシナリオがさらに多くサポートされるようになりました。 WPF と WinUI 3 のアプリのシナリオを有効にしました。
- XAML コード エディターでは、新しく作成されたコントロールの種類と、IntelliSense の .NET ホット リロード操作によって作成されたプロパティが正しく表示されるようになります。
- .NET ホット リロードを使用して新しく作成されたプロパティへのバインドが、予期したとおりに動作するようになります。 WinUI の場合、x:Bind を使用して新しいプロパティにもバインドできるようになりました。 WPF アプリの場合:
- .NET ホット リロードを使用して作成されたイベント ハンドラー用に新しく作成されたメソッドの追加が機能するようになります。 注: 上記のシナリオは、種類が最初に .NET ホット リロードを使って適用されてから、XAML ホット リロードが使用される場合は機能しますが、既知の制限があります。 たとえば、まだ作成されていないプロパティに XAML ホット リロードを使って新しいプロパティを追加して代入してから、.NET ホット リロードのみを使用して作成した場合、XAML の変更では新しいプロパティは表示されません。 この問題は認識しており、今後改善する予定です。
XAML ライブ プレビュー
- ルーラー、ズーム、および要素選択の動作に対して、いくつかの機能強化を行いました。
- XAML ライブ プレビューで .NET MAUI アプリ (WinUI と Android) がサポートされるようになりました (ただし .NET MAUI が使用できる場所に限られています)。
このリリースでは、XAML ライブ プレビューに対していくつかの機能強化を行いました。変更点は次のとおりです。
.NET MAUI サポート (WinUI と Android Emulator): WinUI 3 アプリまたは Android Emulator で実行されている .NET MAUI アプリがサポートされるようになりました。
(注: .NET MAUI は Visual Studio のすべてのバージョンでまだサポートされていないので、17.1 から組み込まれているこの機能は、.NET MAUI が使用可能なバージョンでのみ使用できます)
ルーラーの変更: アプリケーションの構成に基づいて、ルーラーのピクセル インジケーターが右から左または左から右に正しく表示されるようになりました。 要素の選択の変更: XAML ライブ プレビュー内で "要素の選択" 機能を使用すると、常にソースに移動するようになります。 これは以前、構成可能なオプションでしたが、このリリースでは削除され、混乱を避けるために動作が標準化されました。 ズームの機能強化: ズーム ドロップダウンで、自動の "全体を表示"、"幅を合わせる"、または "高さを合わせる" がサポートされ、これらのシナリオで簡単に拡大できるようになりました。 この新しい機能と共に、通常のパーセンテージ ズームまたはスクロール ホイールも引き続き使用できます。
17.1 で対処されたイシュー
- DataSet カスタム デバッガー ビジュアライザーがリモートおよび Azure App Service デバッグ シナリオで機能しない問題を修正しました。
- 保留中の "ホット リロード" 操作を取り消すサポートを追加しました。
- Xamarin ホット再起動に関する増分デプロイの問題を修正しました。
- TFS のコード レンズのサポートを修正し、有効にしました。
- Razor と LiveShare のシナリオで、コードの色付けが誤って調整されるバグを修正しました。
- Visual Studio の C++ Intellisense は、macOS システム上の CMake プロジェクトを対象とする場合のパフォーマンスが改善されました。 C++ ヘッダーを検索するときに、Visual Studio が CMake の CMAKE_OSX_SYSROOT 変数を処理しています。
- /openmp:llvm と /ZI を組み合わせるときに omp task を使用すると、コンパイラがクラッシュしたり、通知なしで正しくないコードを生成したりするといういくつかの問題が修正されました。
- 高速展開を無効にしたときに Android アプリケーションをデバッグするときの問題を修正しました。
- /experimental:deterministic、/pathmap、および /clr を使用するときに C2567 の原因となる問題を修正します。
- /RTC フラグからの ARM64X サンクのクラッシュを修正します。
- 既に修飾された ARM64EC シンボルをリンク中に修飾しない。
- 同じ名前のサービス プリンシパルが既に存在する場合にサービス プリンシパルの生成が失敗する Azure Container Apps ワークフロー生成の問題を修正しました。
- ATL CString に <=> および == 演算子が追加されました。
- GENRROFILE と USEPROFILE のフェーズで -cgthreads と -pdbthreads が異なるようにリンカー フラグ テーブルを更新しました。
- ClickOnce を使用した x86 COM 参照を含むプロジェクトの発行に関する問題が修正されました。
- [Docker Compose 起動設定の管理] ダイアログで複数の起動プロファイルを追加したときの VS クラッシュのバグを修正します。
- Xamarin.Android アプリケーション内の
no-write-symbols,nodebug
AOT のアセンブリのパッケージ化を修正します。 - C# コンパイラは、補間された文字列ハンドラーと、末尾からのインデクサーを分解代入で使用する特定のシナリオで、不適切な codegen を生成するかクラッシュします。 これらの問題は修正されました。 詳細については、 https://github.com/dotnet/roslyn/issues/58514 および https://github.com/dotnet/roslyn/issues/58569 を参照してください。
- WinForms .NET デザイナーが開いていて、一部の操作がプロジェクトに対して実行されるときの間欠的な VS のクラッシュを修正しました。
- link.exe の /MACHINE オプションに ARM64EC を追加します。
- CMake ワークスペースの設定ファイルへの変更が反映されない場合がある問題を修正しました。
- 状況によっては、Azure Container Apps へのワーカー サービスの発行が通知なしに失敗する。
- Windows 7 マシンで Visual Studio が起動できない問題が修正されました。
Developer Community から
- 環境の編集中にロックされ、何も実行されなくなるため、定期的に devenv.exe を強制終了して VS を閉じる必要がある
- Razor ツール: 色のばらつきが永続化している
- インライン置換で間違った入力にフォーカスされる
- MSB3179: COM 参照 'SMTLib' の分離に関する問題: このコンポーネントに登録済みのクラスが検出されない
- スクリーン リーダーで新しい [プロジェクトのデバッグ プロパティ] ウィンドウを使用できない。
- .NET Web サイト プロジェクトの .cshtml ファイルでホット リロードが機能しない
- ソース ジェネレーターによって生成されたコードが赤い波線でマークされるが、コンパイルには問題がない
- 双方向テキスト制御オプションに調整の必要がある
- Docker Compose 設定の管理を使用して新しい起動プロファイルを追加しようとすると、Visual Studio 2022 がクラッシュする。
- ソース ジェネレーターの Intellisense がクライアント プロジェクトで動作しない
- 埋め込みフォントといくつかの追加コンポーネント (Firebase など) を含む iOS 15 でのホット再起動が失敗する
- UE5 早期アクセスを使用した Visual Studio での "定義へ移動" に時間がかかる (大規模なプロジェクトで IntelliSense が動作するようになった)
- Visual Studio 2022 + Xamarin + SignalR のバグ (メソッドが見つからない)
- Git リポジトリ ウィンドウで間違った日付形式が使用される (VS 2022 での回帰)
- Visual Studio で予期しない問題が発生した
- Visual Studio 2022 Preview 7 が "IntelliSense が初期化を完了するのを待機しています..." でスタックしている
- System.InvalidOperationException: 保留中の更新プログラムがない
- 1 つの cpp がコンパイルされた場合に UseMultiToolTask が C++ プリコンパイル済みヘッダーの変更検出が中断する原因になる
- シンボル '“WebAssembly”' を解決できない
- Blazor ページ (*.razor) で c# コード行にセミコロンを追加すると、カーソルがジャンプする
- PackageId:Microsoft.VisualStudio.TestWindow.SourceBasedTestDiscovery;PackageAction:Install;ReturnCode:-2147024690;
- モジュール: モジュールをインポートするときに、重要なコードで std::any が壊れる
- ARM64: コンパイラが値渡しを決定したときのコード生成が正しくない
- 最大並列コンパイル ジョブが 1 を超える WSL でのコンパイル エラー
- 論理 "| |" の場合にビットごとの "|" を使用することが意図されている
- Visual Studio 2019 16.10.X バージョンの "すべての参照の検索" 機能
- ClickOnce を使用した x86 COM 参照を含むプロジェクトの発行に関する問題が修正されました
- Visual Studio のアップグレードでパッケージのコンパイルが破損する
- C++ による Linux 開発 - 内部的な動的リンケージが正しくない
- Doxygen タグのないコメントが正しく解析されない
- 名前空間内のローカル宣言でのリンク エラー
- launch.vs.json 用の定義済みマクロ
- ソリューション エクスプローラーに power shell ファイルのアイコンが表示されない
- C26440 擬陽性関数を 'noexcept' として宣言できる
- C++: std::is_empty がテンプレートの特殊化で正しく機能しない
- Linux 用 VC++: ソースをコピーする前に実行するリモートのビルド前イベント
- .Net 6 + VS Community 2022 を使用した Blazor Server および CSS の分離
このリリースの Developer Community 修正プログラムの完全な一覧を参照してください。
既知の問題
Visual Studio 2022 のすべての未解決のイシューと、利用可能な回避策については、以下のリンクから参照してください。
フィードバックと提案
皆様のご意見をお待ちしております。 問題の報告または機能の提案は、インストーラーまたは Visual Studio IDE の右上隅にある [フィードバックの送信] アイコンを使用するか、[ヘルプ] > [フィードバックの送信] から行うことができます。 Visual Studio Developer Community を使用して問題を追跡でき、コメントを追加したり、解決策を見つけたりできます。 ライブ チャット サポートを介して、無料のインストールのヘルプを取得することもできます。
ブログ
開発者ツールのブログで提供されている洞察や推奨事項を活用すると、すべての新しいリリースに関する最新情報を入手し続けることができ、さまざまな機能について掘り下げた記事を参照することもできます。