2022LogoVisual Studio 2022 バージョン 17.6 リリース ノート

ヒント

近日公開予定: GitHub Copilot for Visual Studio を使用した最新の AI 駆動機能に早期アクセスしましょう。 包括的なコード解釈の詳細を確認し、単体テストを生成し、バグを修正するソリューションを見つけてください。 サインアップしましょう!


ヒント

Visual Studio 2022 のローンチ イベントの録画を視聴して、新機能について学習し、ヒントやテクニックを確認して、無料のデジタル Swag をダウンロードしてください。

Developer Community | Visual Studio 2022 ロードマップ | システム要件 | 互換性 | 再頒布可能コード | リリース履歴 | ライセンス条項 | ブログ | 最新リリースの既知の問題 | Visual Studio のドキュメントの最新情報


ボタンをクリックして、Visual Studio 2022 の最新バージョンをダウンロードします。 Visual Studio 2022 のインストールと更新の手順については、Visual Studio 2022 の最新リリースへの更新に関する記事をご覧ください。 また、オフラインでインストールする方法の手順もご覧ください。

Community のダウンロード ボタンProfessional のダウンロード ボタンEnterprise のダウンロード ボタン

他の Visual Studio 2022 製品をダウンロードするには、Visual Studio のサイトを参照してください。


Visual Studio 2022 バージョン 17.6 リリース


Visual Studio 2022 バージョン 17.6

サポート期間

17.6 LTSC チャネルで更新プログラムを受信するように構成されている Visual Studio 2022 バージョン 17.6 の Enterprise ユーザーと Professional ユーザーはサポートされ、2025 年 1 月までセキュリティの脆弱性に対する修正プログラムを受け取る予定です。 Visual Studio でサポートされるベースラインの詳細については、Visual Studio 2022 のサポート ポリシーに関するページを参照してください。

次のいずれかのボタンをクリックして、17.6 LTSC チャネルから Visual Studio 2022 バージョン 17.6 の最も安全なリリースをダウンロードします。 その他の 17.6 LTSC 製品は、Visual Studio サブスクリプションのサイトで確認できます。

[Enterprise LTSC のダウンロード] ボタン[Professional LTSC のダウンロード] ボタン

Visual Studio Community エディションは、Visual Studio の最新のマイナー バージョンの最新のサービス リリースを備えた最新チャネルでのみサポートされています。

Visual Studio のサイトに移動して、Visual Studio 2022 製品の最新バージョンのリンクにアクセスしてください。 Visual Studio 2022 のインストールと更新の手順については、Visual Studio 2022 の最新リリースへの更新に関するページを参照してください。 Visual Studio 管理者ガイドには、組織全体に Visual Studio を展開する方法についてのガイダンスが含まれています。

Visual Studio 2022 ブログ

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

  • Visual Studio 2022 バージョン 17.6

  • このリリースでお客様から報告された主なバグに多数対応し、Developer Community でのお客様の提案に基づいて新機能を追加しました。 継続してフィードバックをお送りいただきありがとうございます。 このリリースの一部としてご提供するお客様の提案の一覧を次に示します。


17.6.14 Visual Studio 2022 バージョン 17.6.14

2024 年 4 月 9 日リリース

Visual Studio 2022 バージョン 17.6.14 のこのリリースの新機能の概要

  • このバグ修正プログラムにより、クライアントはレイアウトでブートストラップを使用し、--noWeb パラメータを渡してクライアント コンピューターにインストールし、インストーラと Visual Studio 製品の両方がレイアウトからのみダウンロードされるようにすることができます。 以前は、インストール プロセス中にインストーラが -noWeb パラメータを尊重せず、Web から自己更新を試行することがありました。

対処済みのセキュリティ アドバイザリ

  • CVE-2024-21409 WPF には use-after-free の脆弱性が存在し、信頼されていないドキュメントを表示するときに特権の昇格が発生する可能性があります。
  • CVE-2024-28929 この更新プログラムは、Microsoft ODBC Driver for Microsoft SQL Server のリモート コード実行の脆弱性に対処します。
  • CVE-2024-28930 この更新プログラムは、Microsoft ODBC Driver for Microsoft SQL Server のリモート コード実行の脆弱性に対処します。
  • CVE-2024-28931 この更新プログラムは、Microsoft ODBC Driver for Microsoft SQL Server のリモート コード実行の脆弱性に対処します。
  • CVE-2024-28932 この更新プログラムは、Microsoft ODBC Driver for Microsoft SQL Server のリモート コード実行の脆弱性に対処します。
  • CVE-2024-28933 この更新プログラムは、Microsoft ODBC Driver for Microsoft SQL Server のリモート コード実行の脆弱性に対処します。
  • CVE-2024-28934 この更新プログラムは、Microsoft ODBC Driver for Microsoft SQL Server のリモート コード実行の脆弱性に対処します。
  • CVE-2024-28935 この更新プログラムは、Microsoft ODBC Driver for Microsoft SQL Server のリモート コード実行の脆弱性に対処します。
  • CVE-2024-28936 この更新プログラムは、Microsoft ODBC Driver for Microsoft SQL Server のリモート コード実行の脆弱性に対処します。
  • CVE-2024-28937 この更新プログラムは、Microsoft ODBC Driver for Microsoft SQL Server のリモート コード実行の脆弱性に対処します。
  • CVE-2024-28938 この更新プログラムは、Microsoft ODBC Driver for Microsoft SQL Server のリモート コード実行の脆弱性に対処します。
  • CVE-2024-28941 この更新プログラムは、Microsoft ODBC Driver for Microsoft SQL Server のリモート コード実行の脆弱性に対処します。
  • CVE-2024-28943 この更新プログラムは、Microsoft ODBC Driver for Microsoft SQL Server のリモート コード実行の脆弱性に対処します。
  • CVE-2024-29043 この更新プログラムは、Microsoft ODBC Driver for Microsoft SQL Server のリモート コード実行の脆弱性に対処します。

17.6.13 Visual Studio 2022 バージョン 17.6.13

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

Visual Studio 2022 バージョン 17.6.13 のこのリリースの新機能の概要

セキュリティ アドバイザリに対処

  • CVE-2024-21392 特別に作成された要求がリソース リークを引き起こし、サービス拒否につながる可能性がある脆弱性が .NET に存在します。
  • CVE-2024-26190 接続が有効なままである限り、ピアがメモリの小さなチャンクを割り当てる可能性がある脆弱性が MsQuic.dll に存在します。
  • CVE-2023-27911 このアドバイザリは、Visual Studio 2022 で Autodesk® FBX® SDK がサポートされなくなったことを示すために再発行されています。

17.6.12 Visual Studio 2022 バージョン 17.6.12

"リリース日: 2024 年 2 月 13 日"

この Visual Studio 2022 バージョン 17.6.12 のリリースの新機能の概要

セキュリティ アドバイザリに対処

  • CVE-2024-0057 Microsoft .NET Framework ベースのアプリケーションで X.509 チェーン構築 API を使用しているが、ロジックの欠陥のために X.509 証明書を完全に検証しない場合、セキュリティ機能バイパスの脆弱性が存在します。
  • CVE-2024-21386 SignalR を使用する ASP.NET アプリケーションに、悪意のあるクライアントがサービス拒否を引き起こすおそれがある脆弱性が存在します。
  • CVE-2024-21404 OpenSSL がサポートされている .NET に、X509 証明書の解析の際のサービス拒否の脆弱性が存在します。

17.6.11 Visual Studio 2022 バージョン 17.6.11

リリース日: 2024 年 1 月 9 日

Visual Studio 2022 バージョン 17.6.11 のこのリリースの新機能の概要

  • IncrediBuild の更新バージョンでは、標準のビルド メニュー コマンドを使用して CMake プロジェクトをビルドすると、既定で IncrediBuild を使用するようにビルドが誤ってリダイレクトされるという問題が修正されました。
  • ASan での無限再帰を修正 - 新しいバージョンの Windows では、ntdll が例外処理機構で memset の呼び出しを開始しました。したがって、ntdll によって呼び出された場合は、memset から SEH 例外をスローしないようにする必要があります。
  • MinGit を v2.43.0.1 に更新しました。これは OpenSSL v3.1.4 に付属しており、特定の状況でネットワーク操作が非常に遅かった回帰に対処しています。

対処済みのセキュリティ アドバイザリ

  • CVE-2024-20656 VSStandardCollectorService150 サービスに脆弱性が存在し、ローカルの攻撃者は、影響を受ける Microsoft Visual Studio のインストールが実行されているホストに対する特権をエスカレートできます。
  • CVE-2023-32027 このアドバイザリは、Visual Studio の Microsoft ODBC Driver for SQL Server リモート コード実行の脆弱性に対処するために再発行されます。
  • CVE-2023-32025 このアドバイザリは、Visual Studio の Microsoft ODBC Driver for SQL Server リモート コード実行の脆弱性に対処するために再発行されます。
  • CVE-2023-32026 このアドバイザリは、Visual Studio の Microsoft ODBC Driver for SQL Server リモート コード実行の脆弱性に対処するために再発行されます。
  • CVE-2023-29356 このアドバイザリは、Visual Studio の Microsoft ODBC Driver for SQL Server リモート コード実行の脆弱性に対処するために再発行されます。
  • CVE-2023-32028 このアドバイザリは、Visual Studio の Microsoft SQL OLE DB リモート コード実行の脆弱性に対処するために再発行されます。
  • CVE-2023-29349 このアドバイザリは、Visual Studio の Microsoft ODBC および OLE DB のリモート コード実行の脆弱性に対処するために再発行されます。
  • CVE-2024-0057 Microsoft .NET Framework ベースのアプリケーションで X.509 チェーン構築 API を使用しているが、ロジックの欠陥のために X.509 証明書を完全に検証しない場合、セキュリティ機能バイパスの脆弱性が存在します。
  • CVE-2024-0056 Microsoft.Data.SqlClient および System.Data.SqlClient SQL データ プロバイダーに脆弱性が存在し、攻撃者は SQL クライアントと SQL サーバーの間で傍受攻撃 (MITM、つまり、中間者攻撃とも呼ばれる) を実行できます。
  • CVE-2024-21319 Microsoft は、ASP.NET Core プロジェクト テンプレートの脆弱性に関する情報を提供するために、このセキュリティ アドバイザリをリリースします。

17.6.10 Visual Studio 2022 バージョン 17.6.10

リリース日: 2023 年 11 月 14 日

Visual Studio 2022 バージョン 17.6.10 のこのリリースの新機能の概要

  • VS 2022 v17.6 では、VC++ redist の更新により、ファイルがインストールされているディレクトリが更新されました。 これらのファイルを参照するための文書化された方法に依存している場合は、影響はありません。 ただし、アプリのデプロイ スクリプトにハードコーディングされたバージョン のディレクトリがある場合は、新しい場所を参照するようにビルドを更新する必要がある場合があります。
  • ASan での無限再帰を修正しました - 新しいバージョンの Windows では、ntdll が例外処理機構で memset の呼び出しを開始しました。したがって、ntdll によって呼び出された場合は、memset から SEH 例外をスローしないようにする必要があります。
  • /analyze オプションを /std:c++20 オプションと共に使用してコード分析中にコンパイラがクラッシュする問題を修正しました。
  • 特定の C++ パターンによってトリガーされる移動チェック (C26800) 後の使用のクラッシュを修正しました。

Developer Community のハイライト

対処済みのセキュリティ アドバイザリ

  • CVE-2023-36038ASP.NET IIS には、リモートの認証されていないユーザーが特別に細工された要求を .NET アプリケーションに発行し、サービス拒否を引き起こす可能性がある脆弱性が存在します。
  • CVE-2023-36049System.Net.WebRequest.Create に提供される信頼されていない URI を使用してバックエンド FTP サーバーに任意のコマンドを挿入できる特権の昇格の脆弱性が .NET に存在します。
  • CVE-2023-36558認証されていないユーザーが blazor サーバー フォームの検証をバイパスして意図しないアクションをトリガーされる可能性がある ASP.NET にセキュリティ機能バイパスの脆弱性が存在します。
  • CVE-2023-36042Visual Studio にサービス拒否の脆弱性が存在し、修飾名が正しくないと無限ループが発生する可能性があります。

17.6.9Visual Studio 2022 バージョン 17.6.9

2023 年 10 月 24 日リリース

Visual Studio 2022 バージョン 17.6.9 のこのリリースの新機能の概要

セキュリティ アドバイザリの再発行

  • CVE-2023-36799悪意を持って作成された X.509 証明書を読み取った場合、サービス拒否が発生する可能性があるという脆弱性が .NET に存在します。 この問題は Linux システムにのみ影響します。
  • CVE-2023-36796このセキュリティ更新プログラムは、破損した PDB ファイルを読み取るときに、リモート コード実行を引き起こす可能性がある DiaSymReader.dll の脆弱性を解決します。
  • CVE-2023-36794このセキュリティ更新プログラムは、破損した PDB ファイルを読み取るときに、リモート コード実行を引き起こす可能性がある DiaSymReader.dll の脆弱性を解決します。
  • CVE-2023-36793このセキュリティ更新プログラムは、破損した PDB ファイルを読み取るときに、リモート コード実行を引き起こす可能性がある DiaSymReader.dll の脆弱性を解決します。
  • CVE-2023-36792このセキュリティ更新プログラムは、破損した PDB ファイルを読み取るときにリモート コード実行を引き起こす可能性がある DiaSymReader.dll の脆弱性を解決します。

17.6.8 Visual Studio 2022 バージョン 17.6.8

リリース: 2023 年 10 月 10 日

Visual Studio 2022 バージョン 17.6.8 のこのリリースの新機能の概要

Developer Community のハイライト

対処済みのセキュリティ アドバイザリ

  • CVE-2023-36435MsQuic.dll にはメモリ リークの脆弱性が存在し、サービス拒否につながる可能性があります。 この問題は Windows システムにのみ影響します。
  • CVE-2023-38171MsQuic.dll には Null ポインターの脆弱性が存在し、サービス拒否につながる可能性があります。 この問題は Windows システムにのみ影響します。
  • CVE-2023-44487ASP.NET Core Kestrel Web サーバーには脆弱性が存在し、悪意のあるクライアントにより特別に作成された HTTP/2 要求がサーバーに大量に発生し、サービス拒否を引き起こす可能性があります。

17.6.7 Visual Studio 2022 バージョン 17.6.7

リリース日: 2023 年 9 月 12 日

Visual Studio 2022 バージョン 17.6.7 のこのリリースの新機能の概要

  • Visual Studio で使われる Git のバージョンを v 2.41.0.3 に更新しました。

Developer Community のハイライト

対処済みのセキュリティ アドバイザリ

  • CVE-2023-36799悪意を持って作成された X.509 証明書を読み取った場合、サービス拒否が発生する可能性があるという脆弱性が .NET に存在します。 この問題は Linux システムにのみ影響します。
  • CVE-2023-36796このセキュリティ更新プログラムは、破損した PDB ファイルを読み取るときに、リモート コード実行を引き起こす可能性がある DiaSymReader.dll の脆弱性を解決します。
  • CVE-2023-36794このセキュリティ更新プログラムは、破損した PDB ファイルを読み取るときに、リモート コード実行を引き起こす可能性がある DiaSymReader.dll の脆弱性を解決します。
  • CVE-2023-36793このセキュリティ更新プログラムは、破損した PDB ファイルを読み取るときに、リモート コード実行を引き起こす可能性がある DiaSymReader.dll の脆弱性を解決します。
  • CVE-2023-36792このセキュリティ更新プログラムは、破損した PDB ファイルを読み取るときにリモート コード実行を引き起こす可能性がある DiaSymReader.dll の脆弱性を解決します。
  • CVE-2023-36759このセキュリティ更新プログラムは、悪意のあるファイルを読み取って特権の昇格を引き起こす可能性がある pgodriver.sys を削除します。

17.6.6 Visual Studio 2022 バージョン 17.6.6

リリース日: 2023 年 8 月 8 日

Visual Studio 2022 バージョン 17.6.6 のこのリリースの新機能の概要

  • 継承された割り当て演算子に関連する IntelliSense のクラッシュを修正しました。
  • SQL ファイルの構文の強調表示が想定どおりに機能するようになりました。
  • コード分析中にコンパイラの内部エラーを引き起こす可能性がある最近導入されたバグを修正しました。
  • C++ モジュールのバグを修正し、いくつかのモジュールのスループット向上を追加しました。

Developer Community のハイライト

対処済みのセキュリティ アドバイザリ

  • CVE-2023-35390アクセス許可が弱いディレクトリで一部の dotnet コマンドを使用すると、リモートでコードが実行される可能性がある脆弱性が存在します。
  • CVE-2023-38180Kestrel に脆弱性が存在します。この脆弱性により、悪意のある可能性のあるクライアントを検出すると、Kestrel が接続を切断できず、サービス拒否が発生することがあります。
  • CVE-2023-38178.NET Kestrel に脆弱性が存在します。この脆弱性により、悪意のあるクライアントは、ASP.NET ランタイムと .NET ランタイムの両方で HTTP/3 の QUIC ストリーム制限をバイパスし、サービス拒否が発生する可能性があります。
  • CVE-2023-35391Redis バックプレーンの使用時に SignalR を使用する ASP.NET Core 2.1、.NET 7.0、および .NET 6.0 アプリケーションに脆弱性が存在すると、情報漏えいが発生する可能性があります。
  • CVE-2023-36897 Visual Studio 2010 Tools for Office ランタイム スプーフィングの脆弱性 このセキュリティ更新プログラムは、認証されていないリモート攻撃者が有効なコード署名証明書なしで VSTO アドイン展開に署名できる脆弱性に対処します。

17.6.5 Visual Studio 2022 バージョン 17.6.5

リリース日: 2023 年 7 月 11 日

Visual Studio 2022 バージョン 17.6.5 のこのリリースの新機能の概要

  • 符号なし 64 ビット整数を切り替えると、x86 と ARM ターゲットでクラッシュが発生する可能性がある問題を修正しました。
  • Entity Framework デザイナーを使用する Visual Basic ユーザーが edmx ファイルを保存した後にコンパイル エラーが発生する可能性がある問題を修正しました。

Developer Community のハイライト

対処済みのセキュリティ アドバイザリ


17.6.4 Visual Studio 2022 バージョン 17.6.4

リリース日: 2023 年 6 月 20 日

Visual Studio 2022 バージョン 17.6.4 のこのリリースの新機能の概要

  • C++ ファイルを保存すると IDE がハングする場合がある問題を修正しました。
  • VC プロジェクトに対して "すべてのファイルを表示" モードが設定されている場合、それらのプロジェクトのファイルからの結果が GoTo と FindInFiles に表示されない場合がある問題を修正しました。
  • '__declspec(property) が C++20 および /clr で構文エラーになる問題を修正しました
  • ASAN 初期化で、起動時にクラッシュを引き起こす競合状態を修正しました
  • 複数のテスト プロジェクトを順番に実行すると、vstest.console は、開始されただけでまだ実行されていない testhost のデータを常にポーリングするため、多くの CPU を消費する可能性があります。 これは、testhost の事前開始を無効にすることで軽減されました。 この回帰は 17.6.0 で発生しました。
  • iOS をターゲットとする MAUI に XCFramework が含まれているときの、MessagingRemoteException を修正しました。 参照: xamarin/macios#18308
  • このバージョンの Visual Studio には、Win App SDK 1.3.230502000 が含まれます。 詳しくは、Windows App SDK リリース チャネルの Windows アプリに関する記事をご覧ください。
  • Windows SDK for Windows 11 のサービス更新プログラム 10.0.22621.1778 が含まれています。 詳しくは、「Windows SDK」をご覧ください。
  • ドキュメント タブが誤ってフローティング ウィンドウへのドッキングを解除される場合があるバグを修正しました。
  • ソリューションを閉じる時に Visual Studio がクラッシュする問題を修正しました。

Developer Community のハイライト


17.6.3 Visual Studio 2022 バージョン 17.6.3

リリース日: 2023 年 6 月 13 日

この Visual Studio 2022 バージョン 17.6.3 リリースの新機能の概要

  • Razor コンパイラに導入された回帰で、明示的な部分クラスを持つ特定のタグ ヘルパーが壊されます。 このバグが修正されるまで、お客様は 7.0.203 SDK に戻ることで回避できます。

対処済みのセキュリティ アドバイザリ


17.6.2 Visual Studio 2022 バージョン 17.6.2

リリース日: 2023 年 5 月 25 日

Visual Studio 2022 バージョン 17.6.2 のこのリリースの新機能の概要

Developer Community のハイライト


17.6.1 Visual Studio 2022 バージョン 17.6.1

リリース日: 2023 年 5 月 22 日

この Visual Studio 2022 バージョン 17.6.1 のリリースの新機能の概要

  • whatsnew コンテンツをいくつか更新しいました。

17.6.0 Visual Studio 2022 バージョン 17.6

"リリース日: 2023 年 5 月 16 日"

Visual Studio 2022 バージョン 17.6 のこのリリースの新機能の概要

Developer Community のハイライト

F# :

  • C# から F# に移動するためのネイティブの "定義へ移動" 機能が導入されました。

定義へ移動: C# から F#

サポートされているシナリオについては、#14377 を参照してください

  • パラメーター名のヒントを、引数名と一致するときに非表示にすることで改善しました

改善されたパラメーター名のヒント

  • 読みやすくするためにブロック コメントを折りたためるようにしました

F# でコメントの折りたたみが可能に

  • 設定可能なプロパティを組み込むことで属性の入力候補を調整しました
  • 結果が同じラベルのグループに分割される原因となった "すべての参照の検索" のバグを解決しました
  • 結果をインテリジェントに並べ替えることで、"すべてにジャンプ" 機能のエクスペリエンスをアップグレードしました。 詳細については、#14882 を参照してください

C++

  • [アクティブ ドキュメントとの同期] が CMake ターゲット ビューで機能するようになりました。 ファイルの完全パスに一致する最初の場所を探し、そのドキュメントと同期します。
  • [ソリューション] - [閉じる] シナリオを改善しました。これにより、C++ プロジェクトを含むソリューションを閉じる時間が短縮されました。 全体的なパフォーマンスの向上により、小さなコードベースの場合で 20% 以上高速に、大規模なソリューション (1000 以上のプロジェクト) の場合で 50% まで高速になる場合があります。 大規模なプロジェクトでは、高速化がさらに顕著になると予想されます。 Chromium の場合、通常 50% 高速になり、20 秒の時間を節約できます。
  • Visual Studio インストーラーにバンドルされている Incredibuild のバージョンは、バージョン 10.1.9 に更新されました。 新機能と最新の変更の詳細については、Incredbuild 10 リリース ノートを参照してください。
  • C++/CLI の C++20 サポート
    • /std:c++20/clr と組み合わせて使用できるようになりました。 これにより、幅広い C++20 コンストラクトを ISO C++ 型で使用できます。 特に、すべての C++20 ヘッダーを /clr のコンパイルに制限なく #included できます。
    • /std:c++20 または /std:c++17 が指定されている場合、2 フェーズの名前参照 (ISO C++ [temp.dep]) が既定になりました。 /std:c++17 では /Zc:twoPhase- を指定する必要がなくなりました。 マネージド テンプレートとジェネリックは例外で、2 フェーズ参照セマンティクスなしで、以前と同様にコンパイルされます。
    • コルーチンは常にネイティブ コードにコンパイルされ、マネージド コードからの呼び出しではマネージド -> ネイティブ遷移のペナルティが発生します。
    • 概念はネイティブ型でサポートされていますが、マネージド型での使用は禁止されており、診断になります。
    • モジュールのサポートはまだ実装されていません。 制限付きモジュールのインポートのサポートは、今後のリリースで予定されています。
  • 新しい CMake デバッガーを使用して、構成時に CMake スクリプトをデバッグできます。 ファイル名、行番号、CMake エラーがトリガーされたタイミングに基づいてブレークポイントを設定できます。 さらに、ファイル名の呼び出し履歴を表示したり、定義された変数を監視したりすることができます。 現時点では、これはバンドルされた CMake でのみ機能し、WSL またはリモート マシンをターゲットとするプロジェクトはまだサポートされていません。 CMake デバッガーへのサポートの追加に積極的に取り組んでおり、フィードバックを大いに歓迎します。

cmake デバッガー

  • メンバー関数の作成機能を使用して、コンストラクターと等値演算子をすばやくクラスに追加できるようになりました。 フィールドを含むクラスがある場合、クラス名の下に 3 つのドットが表示され、その上にマウス ポインターを合わせるとドライバー アイコンが表示されます。 ドライバー アイコンのドロップダウンに、新しいメンバー関数の候補が表示されます。 これを使用して、既定のコンストラクター、すべてのフィールドを含むコンストラクター、等値演算子、およびすべてのフィールドを含む等値演算子を追加できます。 メンバー関数の作成
  • HLSL (ハイ レベル シェーディング ランゲージ) は、ゲーム開発およびレンダリング アプリケーションでシェーダーを作成するために使用される DirectX 固有のプログラミング言語です。 構文の強調表示、ステートメント入力候補、定義への移動などが可能な、人気の Tim Jones による HLSL ツール拡張機能が、Visual Studio の一部として使用できるようになりました。 HLSL ツールを使用するには、Visual Studio インストーラーの "C++ によるゲーム開発" または "Unity によるゲーム開発" ワークロードでコンポーネントを有効にしてください。
  • C++ シンボルの移動とオールインワン検索のパフォーマンスが向上しました。
  • Visual Studio から離れずに Unreal Engine のログを表示できるようになりました。 ログ ウィンドウを開くには、[表示] > [その他のウィンドウ] > [Unreal Engine ログ] をクリックします。 UE ログのウィンドウを開いた後、F5 で Unreal Editor を起動すると、ログが自動的にストリーミングされます。 UE のプロセスにデバッガーをアタッチできない場合は、赤い録画ボタンを押すこともできます。 ログをフィルター処理するには、[カテゴリ] または [詳細] ドロップダウンをクリックします。
  • [ファイル] > [開く] > [STM32CubeIDE プロジェクトのインポート] を使用して、Visual Studio 内で埋め込み開発用の STM32CubeIDE プロジェクトをインポートできるようになりました。 これにより、STLink のデバイス フラッシュとデバッグ設定を含む CMake プロジェクトが生成されます。 デバイスのボード サポート パッケージと共に STM32CubeIDE がインストールされている必要があります。 詳しくは、こちらをご覧ください。
  • 新しいリモート エクスプローラーを使用すると、接続マネージャーに一覧表示されているリモート コンピューターに対してファイルの参照、アップロード、ダウンロードを行うことができます。

リモート エクスプローラー

SQL

台帳のサポート

  • データベース台帳では、時間と共に変化するデータベースの状態を差分によって把握しつつ、台帳テーブルを更新します。 ブロックチェーンとマークル ツリーのデータ構造を論理的に使用します。
  • Azure Data Studio と同様に、SQL Server Data Tools の台帳機能を追加しています。 SQL Ledger は、次のような新しいテーブルの種類を提供する SQL 2022 の追加機能です。
    • 追加専用の台帳テーブル
    • 更新可能な台帳テーブル
    • 台帳履歴テーブル
    • 削除された台帳テーブル
    • 台帳ビュー
    • 削除された台帳ビュー

SQL Ledger

  • 台帳には次のユース ケースが用意されています。
    • 台帳テーブルの表示、SSOX でのビュー。
    • 台帳テーブルの作成、SSOX からのビュー
    • 台帳テーブルを含む sqlproj の作成。 [プロジェクト] を右クリック -> [項目の追加] -> [テーブル台帳 (更新可能)] または [テーブル台帳 (追加のみ)] の順に移動します
    • SQL データベースへの台帳の発行

SQL Ledger のオプション

Git ツール

デバッグ、診断、プロファイル

ブレークポイント グループ

  • Visual Studio デバッガーでブレークポイント グループがサポートされるようになりました。これにより、多数のブレークポイントをグループ単位に整理してすばやく簡単に管理できるようになります。
  • ブレークポイント ウィンドウの [新規] ドロップダウンを使用して、新しいブレークポイント グループを作成できます。 既存のグループにブレークポイントを追加するには、ブレークポイントを右クリックし、[ブレークポイント グループに追加] を選択します。 ブレークポイントを目的のグループにドラッグ アンド ドロップすることもできます。 これらのブレークポイント グループは、有効化、無効化、および削除できます。 ブレークポイントは、必要に応じて個別に、または組み合わせて切り替えることができます。

ブレークポイント グループを元に戻す

  • 新しいブレークポイント グループでも、削除を元に戻すことができます。 "Ctrl + Z" を使用すると、ブレークポイント グループの削除操作を元に戻すことができます。

  • これに加えて、ブレークポイント グループによって依存ブレークポイント グループがサポートされるようになりました。 ブレークポイント グループを他のブレークポイントに依存させ、前提条件のブレークポイントがヒットしたときにのみグループがアクティブになるようにすることができます。

依存ブレークポイント グループ

"メモリ ツールの分析情報のスパース配列"

  • Visual Studio メモリ分析ツールにスパース配列を識別して表示する機能が追加されました。 スパース配列を持つリスト オブジェクトは、[分析情報] タブの下に表示されます。
  • スパース配列は、主に 0 個の要素で埋め込まれた配列であり、パフォーマンスとメモリ使用の点では非効率的な場合があります。 メモリ分析ツールは、このような配列を自動的に検出し、ゼロ値のために無駄になっているメモリの量を示します。

スパース配列

  • デバッガーで、以前のグローバルな場所ではなく、個々のソリューションに .natstepfilter と .natjmc のファイルを含めることがサポートされるようになりました。 この変更により、これらのファイルがリポジトリ内の他のファイルとして扱われ、それに応じて共有されるようになったため、チーム内でより効率的なコラボレーションが可能になります。

"インストルメンテーション ツール"

  • Visual Studio インストルメンテーション ツールで C++ コードがサポートされ、パフォーマンス分析が改善しました。 インストルメンテーション ツールにアクセスするには、[デバッグ] > [パフォーマンス プロファイラー] に移動し、表示される [プロファイラー] ウィンドウから "インストルメンテーション" を選択します。
  • [インストルメンテーション] データ ビューには、実行時間が長い順に並べられた関数が一覧表示されるため、潜在的なボトルネックを簡単に特定できます。 さらに、[ホット パス] のセクションには、最も CPU を消費している関数の呼び出し履歴が表示され、パフォーマンスの問題に関する詳細な分析情報が提供されます。

インストルメンテーション ツール

"WSL 上の .NET 用 Profiler ライブ グラフ"

  • Visual Studio プロファイル ツールで、WSL 用に dotnet-monitor から収集している間にライブ グラフもサポートされるようになりました。 WSL ライブ メトリックは、.NET オブジェクトの割り当て、CPU 使用率、および .NET カウンター ツールで使用できます。
  • ツールが WSL 用に dotnet-monitor からデータを最初に収集している間、ライブ カウンター情報のリアルタイム グラフを確認できます。その後、収集を停止して、メモリ割り当て、呼び出しツリー、関数、コレクション、その他の関連データの詳細な内訳ビューを表示できます。

WSL_Live_Graph

".NET オブジェクトの割り当てツール"

  • .NET オブジェクトの割り当てツールで、ETL ファイル形式を使用して .NET データ プロバイダーから割り当てをインポートできるようになりました。 たとえば、割り当てティック イベントを含む ETL ファイルが .NET プロバイダーから取得されている場合、このツールがそのデータ内で行われた割り当てを実行して表示できます。

"データ ビジュアライザー"

  • SSH、Docker、または WSL を使用して Unix 上で .NET をデバッグするときに、IEnumerable および DataSet ビジュアライザーを使用して変数またはオブジェクトを検査できるようになりました。

クロス プラットフォーム ビジュアライザー

  • HTML および XML デバッガー ビジュアライザーが完全にテーマ化され、Visual Studio の青、ライト、ダークの各テーマがサポートされるようになりました。

"[呼び出し履歴] と [並列スタック] のウィンドウ"

  • 呼び出し履歴ウィンドウで検索機能がサポートされるようになりました。 検索ボックスに目的の検索キーワードを追加すると、一致する呼び出し履歴フレームが強調表示されます。 また、ウィンドウには並列スタックの新しいエントリ ポイントがあり、デバッグ中にウィンドウにすばやくアクセスできます。

呼び出し履歴の検索

  • 並列スタック ウィンドウに新しいコピー機能が追加されました。 フレームをダブルクリックしてスタックをコピーしたり、Shift キーを押しながら目的のフレームを選択したりできます。行をクリックして特定のものを選択し、ローカルのメモ帳または Excel に貼り付けて、さらに評価することもできます。

"プロセスへの再アタッチ"

  • デバッガー プロセスへの再アタッチは、セッション間でソリューションまたはプロジェクトに対して永続的になりました。 そのため、新しい VS セッションを開いた後でも、以前にアタッチしたプロセスに再アタッチできます。

Git ツールの機能強化

"ビルド中のステージングとコミット"

ビルド中に変更をステージングし、ステージングされた項目をコミットできるようになりました。 ファイルが変更される可能性があるため、直接コミットは危険な操作ですが、ステージング、ファイルが正しいことの確認、そしてそれらのコミットを、すべてビルドの実行中に行うことができます。

"GitHub の issue と Azure DevOps の作業項目 - 検索の改善"

コミット メッセージの issue と作業項目の統合が改善され、最近更新していない項目、または自分には関連していないが自分のプロジェクトまたはリポジトリに含まれている項目に対してクエリを実行したときの検索結果が向上しました。 この検索は、項目の名前内の完全な文字列を照合することによって機能します。 これにより、ブラウザーと Visual Studio の間の項目 ID のコピー貼り付けを最小限に抑えることができます。

"マージ ダイアログの改善"

マージ ダイアログの更新により、影響を受けているファイルの数を簡単に把握でき、競合が発生する可能性がある場合は警告が表示されます。

マージ ダイアログ

"Git 履歴のパフォーマンスの機能強化"

Git 履歴ウィンドウの大幅な機能強化により、過去のコミットの読み込みが速くなり、ファイルとフォルダーの履歴を以前よりも迅速に掘り下げることができるようになりました。

Git ログのデモ

"新しいブランチとタグの名前付けの機能強化"

新しいブランチと新しいタグのダイアログの機能強化により、スペースがダッシュに自動的に置き換えられ、名前に無効な文字が含まれなくなります。

新しいブランチ

GitHub イシュー

GitHub Issues 統合を使用すると、この提案チケットに応じて、VS のコミット メッセージ ボックスから問題を検索して参照できます。 issue または pull request を参照するには、「#」と入力するか、コミット メッセージ テキスト ボックスの右下にある [#] ボタンをクリックします。 このとき、関連するイシューにアクセスできるようにまだ認証されていない場合は、この機能を利用するためにサインインするように求められます。

行のアンステージ

行ステージング (対話型ステージング) 機能を引き続き改善するために、unstage を追加しました。 ここで要求されているように、ツール ヒント オプションを使用して変更を 1 行ずつアンステージできるようになりました: ファイル内の個々の行とハンクのアンステージ - 4 票

Arm64

最も一般的な開発シナリオ向けに、Windows 11 での Arm64 のネイティブ サポートの構築を続けています。 Arm64 Visual Studio で .NET マルチプラットフォーム アプリ UI (MAUI) ワークロードがサポートされるようになりました。

Code Search とナビゲーション

オールインワン検索

オールインワン検索の UI を更新しました。

  • それぞれの結果に 2 行のスペースを取ることによって、より余裕があります。
  • ウィンドウのサイズと場所は、Visual Studio の最後のセッションのものが保持されます。 プレビューの状態の選択 (オフ、右、または下) も保持されます。
  • 既定のプレビュー レイアウトの設定は下です。

詳細については、https://aka.ms/all-in-one-search-blog をご覧ください。

[ツール] > [プレビュー機能の管理] > [New Visual Studio Search Experience (restart required)] (新しい Visual Studio 検索エクスペリエンス (再起動が必要)) から、オールインワン検索を有効にできます。

固定スクロール

固定スクロール

  • 固定スクロールは、ファイル内の場所を特定し、見ているコードのコンテキストを理解するのに役立ちます。 コードをスクロールするときに、クラスとメソッドのシグネチャおよび他のヘッダーが画面の上部に固定されます。 ヘッダー内の行をクリックすると、そのコードに移動します。
  • "追従行の最大数" で最大行数をカスタマイズできます。
  • "スコープの数が最大値を超えた場合" では、上位レベルのスコープ "外部スコープを優先する" または下位レベルのスコープ "内部スコープを優先する" のどちらかを選択します。

有効にするには、[オプション] > [テキスト エディター] > [全般] > [固定スクロール (試験段階)] で、[エディター ウィンドウのスクロール可能な領域内で現在のスコープをグループ化する] チェック ボックスをオンに切り替えます。

詳細については、https://aka.ms/sticky-scroll-blog をご覧ください。

中かっこペアの色付け

中かっこのペアの色付け

中かっこペアの色付けにより、コードにおける開始中かっこと終了中かっこの各セットを視覚的に区別できるようになり、その結果、コードのスコープを確認したり、不足している中かっこを見つけたりするのが簡単になりました。

かっこペアの色付けは、C#、C++、TypeScript、JavaScript、Visual Basic、Razor でサポートされています。

色付けを有効または無効にするには、[ツール] > [オプション] > [テキスト エディター] の順に移動し、[中かっこペアの色付けを有効にする] チェックボックスをオンに切り替えます。

電球のパフォーマンスの向上

電球/コード アクションは、診断とコード分析アーキテクチャの包括的な再設計によって大幅に改善されました。 私たちは、低/中/高レベルの修正プログラムの組み合わせによって電球の点灯に関連するすべてのコンポーネントを最適化することに集中しています。

  • 低レベルの修正プログラムには、ツリー ウォーク数の制限、より効率的な文字列処理、ソース テキストの処理効率の向上、診断コード パスでの割り当て、変換、列挙、データ構造レベルの最適化の削減が含まれていました
  • 中レベルの修正プログラムには、電球の診断を計算するときのバックグラウンド診断 (波線) の取り消し、バックグラウンド インデックス作成の最適化、1 つのドキュメントで実行されるクエリ用の診断エンジンの最適化が含まれていました。そのために、ドキュメントごとに適用可能なアナライザーを制限し、PublicAPI アナライザーなどの複数のファースト パーティーまたはセカンド パーティーのアナライザーで顕著な非効率に対処し、キャッシュ モデルを改善しました
  • 高レベルの修正には、スパン指向の質問に答え、特定のスパンで実行できるアナライザーを推測するための診断パイプラインの修正や、履歴実行情報に基づいて低速のアナライザーの優先度を下げる作業が含まれていました。

前と後

![Before の電球は完了までに 7 サイクルかかる](media/17.6/17.6ga-lightbulb-before.gif =400x) ![After の電球は瞬時](media/17.6/17.6ga-lightbulb-after.gif =400x)

特に大きなソース ファイルの場合に、CPU とメモリの両方のパフォーマンスを大幅に改善しました。 実際、上記の gif に示すように、大きなソース ファイルの電球シナリオの約 8 から 17 の進行状況バー サイクルを 1 サイクル未満に減らしました。

Microsoft Teams 開発ツール (Teams Toolkit)

  • 機能フラグ "Teams アプリ構成の機能強化" を追加します。 Teams ツールキットのプレビュー機能を使用すると、開発者が Teams ネイティブ統合を使用して既存の内部アプリケーションと SaaS アプリケーションを Teams に取り込めるようになります。 teamsfxapp.yml ファイルでは Teams ツールキット エンジンが実行する処理が定義されます。
  • Teams 開発者ポータルから直接 Teams ツールキットを開くための、ディープ リンクを追加します。 開発者ポータルで Teams プロジェクトを開き、Teams ツールキットで編集できるようになりました。
  • 使用開始のための、新しい Teams アプリ テンプレート、ワークフロー ボットを導入しました。 この新しいワークフロー ボット テンプレートを使って、ユーザー入力に応じてアダプティブ カードが返されるシーケンシャルなワークフローを作成してください。
  • いくつかのバグ修正も行いました。

エンタープライズ管理

"イントラネットからの Visual Studio レイアウトのホストおよび配置"

IT 管理者は、ファイル共有に加えて、イントラネット Web サイトでレイアウトをホストおよび配置できるようになります。 イントラネットの場所を使用すると、レイアウトのメンテナンスを簡略化し、特に複数のグローバル ネットワーク ファイル共有を現在使用している組織のインストール パフォーマンスを向上させることができます。 このエクスペリエンスを有効にする方法についてはガイダンスを表示し、改善するために Microsoft でできることがございましたら、フィードバックでご連絡ください

"インストーラーの [利用可能] タブの製品オファリングを更新"

Visual Studio インストーラーの [利用可能] タブを表示するときに提供される製品を制御するロジックを更新しました。現在のプレビューだけでなく、既にインストールされている SKU の最新バージョンにも簡単にアクセスできるようになりました。 IT 管理者は、特定のチャネルを無効にするか、新しい HideAvailableTab ポリシーを使用して [利用可能] タブの表示を抑制することで、特定の製品の公開を制限することもできます。

"どこでも最新のインストーラー"

どこでも最新のインストーラーを配布します。Visual Studio 2017 以降のすべてのバージョンに対するすべての将来の更新プログラムに、最新のインストーラーが含まれることになります。 つまり、最新のインストーラーに追加する新しい機能やバグの修正 (レイアウトから入手したインストールをロールバックする機能など) が、そのようなダウンレベル バージョンの製品で自動的に使用できるようになります。 取得スクリプトで --useLatestInstaller パラメーターを使用する必要はなくなります。

"レイアウトから入手した製品インストールでロールバックが有効になりました"

製品ソースがレイアウトから発生している場合に、更新プログラムをロールバックできるようになりました。 ロールバックを成功させるために必要なパッケージがレイアウトに含まれていることだけ確認してください。 詳細については、こちらをご覧ください。

.NET MAUI

  • .NET MAUI を 7.0.86 (SR6) に更新しました。リリース ノートについては、https://aka.ms/dotnet-maui-releases をご覧ください。
  • .NET for Android 33.0.46 への更新プログラム
  • .NET for iOS 16.4.7060 への更新プログラム

既知の問題

  • 7.0.3xx SDK をポイントする global json を持つ Dotnet format のユーザーが ReflectionTypeLoadException でエラーになる。 これは、フォーマット ツールの依存関係の更新が不足しているためです。 一時的な回避策は、7.0.203 を使用することです。

  • .NET 7.0.3xx SDK Razor / Blazor にアップグレードすると、複数のコンポーネントがタグ '....' を使用しているという形式のエラーが発生する場合があります。

    これは、Razor コンパイラのバグが原因で、対処中です。 これが修正されるまで、ユーザーは global.json を使用して 7.0.20xx SDK を固定することで、この問題を回避できます。  https://github.com/dotnet/razor/issues/8718

  • SettingsEditorFactory 依存関係に関するエラーが原因で RoslynPackage の初期化が失敗する Visual Studio をバージョン 17.6.1 にアップグレードした後、一部のお客様において、Visual Studio が Roslyn およびその他のパッケージを読み込めないという問題が発生しました。 この問題は、アセンブリの不一致が原因で発生します。

    解決策: この issue を解決するには、Visual Studio をバージョン 17.6.2 にアップグレードし、Visual Studio を再起動してください。

    その他の解決策: アップグレード後もエラーが発生する場合は、%LOCALAPPDATA%\Microsoft\VisualStudio\17.0_XXXX\ComponentModelCache にある MEF キャッシュ ファイル (XXXX はランダム ID) を削除してみてください。 ファイルを削除する前に、バックアップを作成しておくことをお勧めします。 次に、Visual Studio を再起動します。

フィードバックと提案

皆様のご意見をお待ちしております。 インストーラーまたは Visual Studio IDE の右上隅にある [フィードバックの送信] アイコンを使用するか、[ヘルプ] > [フィードバックの送信] から、問題の報告または機能の提案フィードバック アイコン を行うことができます。 Visual Studio Developer Community を使用して問題を追跡でき、コメントを追加したり、解決策を見つけたりできます。 ライブ チャット サポートを介して、無料のインストールのヘルプを取得することもできます。


ブログ

開発者ツールのブログで提供されている洞察や推奨事項を活用すると、すべての新しいリリースに関する最新情報を入手し続けることができ、さまざまな機能について掘り下げた記事を参照することもできます。


ページのトップへ