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


ヒント

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.8 リリース

Visual Studio 2022 ブログ

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


17.8.9 Visual Studio 2022 バージョン 17.8.9

2024 年 4 月 9 日リリース

今回の Visual Studio 2022 バージョン 17.8.9 のリリースの新機能の概要

  • このバグ修正により、クライアントはレイアウトでブートストラップを使用し、クライアント マシン上でインストールを行うための --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.8.8 Visual Studio 2022 バージョン 17.8.8

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

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

  • Address Sanitizer の dll が読み込まれるタイミングによっては、Window のレガシ アロケーターと、起動時の競合状態に関して Address Sanitizer で偽陰性になる問題を修正しました。
  • std::round() 関数のインライン拡張でスカラー メモリの読み込みがベクトル アクセスに変更されるのを防ぐための修正が行われました。 ベクトル アクセスによって評価の結果は変化しませんが、評価に時間がかかり、スカラー読み込みが成功するとエラーが発生する可能性があります。
  • 以前の X64 システムでは無効だった SSE 4.2 命令が静的リンク時に libconcrt.lib に含まれる可能性があるバグを修正しました。

開発者コミュニティ

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

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

17.8.7 Visual Studio 2022 バージョン 17.8.7

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

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

  • Visual Studio は、SYSTEM アカウントでフォームを実行できます。
  • .NET MAUI を 8.0.6 SR1 に更新しました。

開発者コミュニティ

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

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

17.8.6 Visual Studio 2022 バージョン 17.8.6

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

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

開発者コミュニティ


17.8.5 Visual Studio 2022 バージョン 17.8.5

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

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

  • Xcode 15.1 のサポートと API の修正を追加しました。完全なリリース ノートについては、macios リリース ページを参照してください。
  • Razor プロジェクトのターゲット フレームワークを変更した後、後で追加されたコンポーネントを一部のお客様が表示できない問題を修正しました。
  • [プロセスのデバッグとアタッチ] ダイアログの起動時のクラッシュを修正しました。
  • 設定デザイナーでアクセス修飾子を変更するときのクラッシュを修正。

開発者コミュニティ


17.8.4 Visual Studio 2022 バージョン 17.8.4

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

Visual Studio 2022 バージョン 17.8.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.8.3 Visual Studio 2022 バージョン 17.8.3

2023 年 12 月 5 日リリース

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

  • Razor ファイルをリンク ファイルとして使用するプロジェクトまたは共有プロジェクトから使用するプロジェクトが修正された問題。

開発者コミュニティ

既知の問題

  • Delinea の権限管理ソフトウェアをインストールしているユーザーは、Visual Studio の起動時に問題が発生する可能性があります。 Delinea はこの問題を認識しており、対処しています。 この問題を解決する方法については、https://delinea.com/support からお問い合わせください。"

17.8.2 Visual Studio 2022 バージョン 17.8.2

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

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

  • 特定の状況において、ドキュメント ウィンドウが読み込み中メッセージの表示でスタックする場合がある問題を修正しました。
  • 場合によっては (プロジェクトがソリューション フォルダーの下にある場合)、プロジェクトを保存するときにエラーが表示されることがあります。 プロジェクトは保存されますが、COM オブジェクトをキャストできないというエラーが表示されます。 この問題は修正され、エラーは表示されなくなりました。

開発者コミュニティ


17.8.1 Visual Studio 2022 バージョン 17.8.1

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

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

  • IncrediBuild の更新バージョンでは、標準のビルド メニュー コマンドを使用して CMake プロジェクトをビルドすると、既定で IncrediBuild を使用するようにビルドが誤ってリダイレクトされるという問題が修正されました。

開発者コミュニティ


17.8.0 Visual Studio 2022 バージョン 17.8.0

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

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

生産性機能

機能 コミュニティでの提案
GitHub Copilot
大文字と小文字を保持する検索と置換 🙏– 76 票
pull request を作成する 🙏– 293 票
概要 差分 🙏– 7 票
マルチリポジトリの制限の引き上げ 🙏– 8 票
Git リポジトリ ウィンドウに追加された GitHub アバター
リモート Linux 単体テストでのサポート
グローバル関数を静的にする
#include ディレクティブを並べ替える
Code Search とナビゲーション
Teams ツールキット
Visual Studio 更新の通知

C++ とゲーム開発

機能 コミュニティでの提案
Unreal Engine スニペット
Unreal Engine テスト アダプター
Build Insights Functions ビュー 🙏– 141 票
メンバー関数を const のヒントにする
サイズと配置のヒント

F# の機能強化

機能 コミュニティでの提案
F#

デバッグと診断

機能 コミュニティでの提案
クロス プラットフォーム Enc/ホット リロード デバッグのサポート
[プロセスにアタッチ] 経由で Linux App Services をデバッグする
BenchmarkDotNet IDiagnosers
ブレークポイント設定ウィンドウのテーマ サポートの強化
Meters API を介した新しいインストルメント向けの .NET カウンターのサポート
VS Profiler を使用したテスト プロファイル
デバッグ シナリオでの .NET カウンター ツール

Razor ツール

機能 コミュニティでの提案
イベント ハンドラー メソッド生成用のコード アクション
C# コードの背景色

JavaScript と TypeScrip の開発

機能 コミュニティでの提案
新しい React TypeScript と ASP.NET の結合テンプレート
Open Folder の launch.json サポート

SQL

機能 コミュニティでの提案
SQL Server Data Tools で Microsoft.Data.SQLClient (MDS) をバージョン 3.0 からバージョン 5.0 にアップグレードしました

テスト

機能 コミュニティでの提案
新しい IntelliTest がプレビューに

パフォーマンスの強化

機能 コミュニティでの提案
Razor/Blazor の応答性の向上
F5 の速度の向上
C++ Unreal Engine 用に最適化された IntelliSense
SDK 以外のスタイルの .NET プロジェクトでのビルドの高速化

エンタープライズ管理

機能 コミュニティでの提案
IT 管理者向けの合理化されたクライアント初期化手順

その他の Developer Community の提案: 皆様からのご要望にお応え


生産性機能

GitHub Copilot

Visual Studio の最新リリースでは、Visual Studio を使用した生産性の向上がますます簡単になっています。 GitHub Copilot オートコンプリートがオプション コンポーネントとして使用できるようになりました。これにより、新しい Visual Studio のインストールと同時に行うインストールや、管理者による更新プログラムとのパッケージ化がはるかに簡単になります。 機能をアクティブ化するにはサブスクリプションが必要です。無料試用版を利用できます

コンポーネントの詳細については、こちらを参照してください: Visual Studio Enterprise のワークロード ID とコンポーネント ID | Microsoft Learn

大文字と小文字を保持する検索と置換

置換を行う場合、コード内の各一致の元の大文字と小文字を保持できるようになりました。 Pascal 大文字と Camel 大文字を取得するには、[文字列の置換] が Pascal 大文字または Camel 大文字でなければならないことに注意してください。

大文字と小文字を保持する検索と置換

大文字と小文字の区別は、[置換] ウィンドウの Alt+V を使用するか、[大文字と小文字を保持する] オプションをクリックして切り替えます。

クイック置換 (Ctrl+H):

大文字と小文字を保持するクイック置換

フォルダーを指定して置換 (Ctrl+Shift+H):

ファイルで大文字と小文字を保持する置換

大文字と小文字を保持する置換エクスペリエンスに関するご意見は、開発者コミュニティ チケットに共有してください。複数のファイル間での大文字小文字を保持する検索と置換.

Visual Studio で pull request を作成する

ブラウザーを使用する代わりに、Visual Studio で pull request を作成できます。 Markdown エディターを pull request の説明と共に使用して [プレビュー] ボタンをクリックし、ヘッダー、箇条書き、およびその他の Markdown 構文をレンダリングします。 これを有効にするには、[プレビュー機能] > [Pull Request] に移動します。

Markdown を使用して pull request にレビュー担当者を追加する

エラー処理の改善とレビュー担当者のエクスペリエンス向上のために、プレビュー バージョンで反復処理を行いました。 こちらから pull request エクスペリエンスについてのご意見ご感想をお聞かせください。

pull request にレビュー担当者を追加する

Azure DevOps と GitHub の両方の Visual Studio で pull request にレビュー担当者を追加できるようになりました。

pull request にレビュー担当者を追加する

これを試してみるには、プッシュ時に表示される [Pull Request の作成] リンクをクリックするか、トップメニューから Git > GitHub または Azure DevOps > 新しい Pull Request を選択します。 次に、「レビュー担当者」セクションに移動し、追加するレビュー担当者を検索します。 引き続きこの Pull Request エクスペリエンスを向上させるための更新プログラムを作成する予定あるため、この機能に関するフィードバックをここで共有し、Developer Community の提案チケット に関する情報をお寄せください。

また、エラー処理の改善とレビュー担当者検索の機能強化を行いました。 こちらから pull request エクスペリエンスについてのご意見ご感想をお聞かせください。

概要 差分

Visual Studio での差分エクスペリエンスを向上させるための継続的な取り組みの一環として、差分ビューと比較ビューに概要ビューを実装しました。 この新しいオプションを使用すると、いくつかの行のコンテキストでファイル内の変更のみを表示でき、コミットでの変更や 2 つのファイル間の比較をより効率よく確認することができます。

概要 差分

この機能についてご意見をお聞かせください。フィードバックをこちらに共有し、Developer Community の提案チケットに関するお問い合わせをお寄せください。

複数のリポジトリのアクティベーション設定と制限の引き上げ

一部のワークフローでは、マルチリポジトリが自動的にアクティブ化されたかどうかのコントロールが重要でした。 新しい設定では、複数リポジトリ UI を表示することなく、個々のリポジトリに引き続き焦点を当てることができます。 さらに、一度に操作できるリポジトリの数を 25 に増やしました。

複数リポジトリ設定

Git リポジトリ ウィンドウに追加された GitHub アバター

Git リポジトリ ウィンドウのマルチブランチ グラフで GitHub アバターをご確認ください。

GitHub アバター

GitHub Actions ツール

ソリューション エクスプローラーで、GitHub.com でホストされていないリポジトリに対して表示される新しい GitHub Actions ノードの予期しない動作に対処しました。 新しいノードが、GitHub.com でホストされているリポジトリにのみ表示されるようになりました。 次は、ツール > オプションを使用して新しいノードをオフにする機能に取り組んでいます。

Code Search とナビゲーション

オールインワン検索エクスペリエンスのパフォーマンスと信頼性の向上への取り組みの一環として、返された各タイプの結果の数を表示するステータス バーも追加しました。

オールインワン検索

Microsoft Teams ツールキット

最新の Visual Studio 2022 バージョン 17.8 では、より多くのビジネス シナリオに適合し、簡単に使い始めることができるように、さらに多くのプロジェクト テンプレートが導入されています。 新しいテンプレートは次のとおりです。

- ユーザーによる入力をエコーする Echo Bot テンプレート。 - "リンクの URL の展開" テンプレート。Message Extensions アプリの 1 種であり、これを使用すると、アダプティブ カードに URL リンクをレンダリングできます。 - "カスタム検索結果" テンプレート。Message Extensions アプリの検索の種類であり、これを使用すると、ユーザーは、チャット領域または検索バーで直接、検索および結果の表示を行うことができます。 - "入力から収集およびデータの処理" テンプレート。Message Extensions アプリのアクションの種類であり、これを使用すると、ユーザーによる入力を取得して何らかのロジックを実行し、結果をユーザーに送り返すことができます。

また、テンプレートを簡単に選択できるように UI を再設計するとともに、さまざまな種類のテンプレートにフィルターとタグを追加します。

Teams Toolkit テンプレート UI

Visual Studio 更新の通知

新しい点にお気付きでしょうか。 Visual Studio 2022 では、VS が更新されるタイミングを把握できるように、VS タスク バー アイコンにオーバーレイを追加しました。
利用可能な更新プログラムがあり、"閉じる時に更新する" オプションを有効にしている場合、アイコンが表示されます。 VS を閉じると、更新がすぐに開始され、その結果、アイコンも消えます。 閉じる時の更新の詳細については、VS を閉じる時の更新に関する記事を参照してください。

更新する

"さらに"、Git SCC プロバイダーが [フォルダーを開く] モードで Git 以外のフォルダーにバインドされるとともに、VisualSVN などの他のプロバイダーが動作しなくなるという問題に対処しました。


C++ とゲーム開発

  • 接続マネージャー経由で接続されているすべてのリモート Linux マシンに対して Visual Studio のテスト エクスプローラーからリモート Linux 単体テストを実行するユーザー向けのサポートが追加されました

  • 構造化された診断のナビゲーション用に [問題の詳細] ウィンドウを追加しました。 これを開くには、エラー一覧のエントリの [詳細] アイコンを使用します。

構造化診断

  • 省略可能な C11 スレッド ライブラリのサポートが実装されました。 これには、スレッド、ミューテックス、条件変数、スレッドローカル ストレージが含まれます。
  • CMake バージョン 3.27 に、C++ によるデスクトップ開発ワークロードの Visual Studio が付属するようになりました。
  • ソリューション エクスプローラー内の任意の場所を右クリックして、[CMake ターゲット ビューに切り替える] を選択すると、CMake ターゲット ビューに移動できるようになりました。

[CMake ターゲット ビューへの切り替え] ボタン

  • また、[ビュー] ドロップダウンから CMake ターゲット ビューを選択すると、CMake ターゲット ビューにアクセスできるようになりました。

[CMake ターゲット ビュー] ドロップダウン

  • CMake ターゲット ビューを簡略化して、ユーザーが目的のターゲットに到達するために、ビルド可能な実行可能ファイルがないフォルダーをクリックしなくてもよいようにしました。
  • リモート エクスプローラー ウィンドウを使用して、Visual Studio でリモート コンピューター上のファイルを表示および編集できるようになりました。

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

  • グローバル関数を簡単に "静的" に設定できるようになりました。
  • 匿名名前空間に含まれていない free 関数があり、ヘッダー ファイルに着信の転送宣言がない場合は、静的としてマークするよう提案されます。

グローバル関数を静的にする例

  • この機能の設定を調整するには、[ツール] > [オプション] > [テキスト エディター] > [C/C++] > IntelliSense] に移動します。

グローバル関数を静的にするための設定

  • Unreal Engine の新しいスニペットを追加しました。 エディター ウィンドウで入力を開始すると、UE スニペットが UE プロジェクトのメンバー リスト項目として表示されるようになります。 Tab または Enter を押してスニペットを作成します。 サポートされているスニペットは、(UClass、UClassExported、UENUM、UFUNCTION、UINTERFACE、UINTERFACEExported、UPROPERTY、USTRUCT、USTRUCTExported、UELOG、SWidget、TActorRange、TObjectRange、WITH_EDITOR) などです

Unreal Engine スニペット

  • Visual Studio 内から Unreal Engine テストを作成、管理、実行できるようになりました。 Unreal Engine Test Adapter が正しく有効になっていることを確かめるには、Visual Studio インストーラーの [C++ でのゲーム開発] ワークロードで [Unreal Engine Test Adapter] が選択されていることを再確認します。 UE Test Adapter をインストールした後、Visual Studio を開くと、テストエクスプローラーに Unreal Engine テストが自動的に表示されます。 UE マーケットプレースまたは GitHub の最新バージョンの Unreal Engine プラグインが必要です。

Tafue の例

  • Visual Studio 内の Build Insights 統合に "関数ビュー" を追加しました。 Build Insights の生成された診断レポートに、関数の生成時間と ForceInlines が表示されるようになりました。

Build Insights Functions ビュー

  • オブジェクトの状態を論理的に変更するためには使用しないメンバー関数を const の状態にするための自動提案を追加しました。 メンバー関数の上にマウス ポインターを置き、電球アイコンをクリックすると、提案にすばやくアクセスして関数を const としてマークすることができます。

メンバー関数 const ヒント電球の提案

  • クラス型、構造体型、共用体型、基本データ型、または列挙型にマウス ポインターを置くと、サイズと配置が表示されるようになりました。

サイズと配置

  • #include ディレクティブを並べ替える機能を使用できるようになりました。 この機能には、コンテキスト メニュー内の [#include ディレクティブ] ドロップダウンからアクセスできます。 また、コード クリーンアップ構成設定に "#include ディレクティブを並べ替える (C++)" を追加してアクセスすることもできます。

Includesエントリの並べ替え

  • 並べ替え順序を基本設定に合わせて調整するには、[ツール] > [オプション] > [テキスト エディター] > [C/C++] > [コード クリーンアップ] に移動します。

Includes設定の並べ替え

  • C に対する /clr サポートがないため、C のコンパイルに対して /FU はサポートされなくなりました。
  • ソース内の #using <assembly> as_friend にパリティを提供するために、/FU:asFriend が追加されました。

F#

  • コード修正の見直しを行い、多数のバグを解決しました (詳細はこちら)。
  • レコード フィールド定義のコロン (:) に等しい (=) に変更する新しいコード修正プログラムを導入しました: 新しい F# コードの修正
  • 開かれていないファイルの診断をアクティブにするオプションを実装しました。 これは、パフォーマンスに関する考慮事項のために既定ではオフになっています (詳細はこちら)。
  • 次のようなさまざまなシナリオのオートコンプリートが強化されました。
    • 匿名レコード フィールド: 匿名レコード フィールドのオートコンプリートの改善
    • 共用体ケース フィールド: 共用体ケース フィールドのオートコンプリートの改善
    • 判別共用体ケース フィールド: 判別共用体ケース フィールドでのオートコンプリートの改善
    • 列挙ケース値式: 列挙型のケース値の式のオートコンプリートの改善
  • FSI での匿名レコード処理に関連する問題に対処しました (#15519)。
  • FSI の誤解を招く行番号を修正しました (#15384)。
  • 自動プロパティの統合ツールヒント: 自動プロパティの統合ヒント
  • 判別共用体フィールドと一致する引数名を非表示にすることで、パラメーター名のヒントを改善しました: 改善されたパラメーター名のヒント
  • 外部列挙型と判別共用体の定義へのナビゲーションに関する問題を解決しました (#15270)。
  • '>' で始まる演算子の参照検索を修正しました (#15386)。

デバッグと診断

デバッグ シナリオでの .NET カウンター ツール

[ツールの選択] ドロップダウン メニューから [.NET カウンター] を選択すると、診断ウィンドウから .NET カウンターに簡単に移動できるようになりました。 デバッグ セッションの実行中でも、.NET カウンターの機能を利用して、重要なパフォーマンス メトリックを監視したり評価したりすることができます。

.NET カウンター

クロス プラットフォーム Enc/ホット リロード デバッグのサポート

Linux コンテナーや Linux 用 Windows サブシステム (WSL) でホストされているアプリを診断およびデバッグする際の、F5 (デバッガーを使用) および Ctrl + F5 (デバッガーなし) シナリオの編集および継続がサポートされるようになりました。 F5 デバッグ シナリオは、.NET 8 RC1 以降に依存することにご注意ください。

[プロセスにアタッチ] 経由で Linux App Services をデバッグする

[プロセスにアタッチ] 経由で Linux App Services の .NET プロセスのデバッグを可能にする強力な新機能を発表いたします。
この機能により、開発者は実行中の Linux Azure App Services インスタンス内の問題を簡単にデバッグおよび診断できます。

プロセスにアタッチするには:

1. [デバッグ] > [プロセスにアタッチ] を選択して (または Ctrl + Alt + P を押して)、[プロセスにアタッチ] ダイアログ ボックスを開きます。

2. [接続の種類] を確認します。 これは、[Microsoft Azure App Service] である必要があります。

3. [Connection target] (接続先) を Linux マシン名に設定します。

4. 適切な使用可能プロセスを選択し、[アタッチ] をクリックします。

LinuxAppServices-Attach-to-Process

BenchmarkDotNet IDiagnosers

Visual Studio Profiler で BenchmarkDotNet IDiagnosers がサポートされるようになりました。 これらの IDiagnosers は、BenchmarkDotNet シナリオ内で発生する診断セッションにおいて重要な役割を果たします。
[ベンチマーク] タブには、実行したベンチマークを視覚化したものが表示されます。 また、特定の行をダブルクリックすることで、スイムレーンからベンチマークを正確に選択することもできます。

IDiagnosers-swimlane

または、右クリックのコンテキスト メニューからソース ファイルに移動することもできます。 統計データは BenchmarkDotNet から直接取得され、構造化されたグリッド形式で表示されます。

IDiagnosers-gotosource

ブレークポイント設定ウィンドウのテーマ サポートの強化

ブレークポイント設定ウィンドウにテーマ サポートを提供し、Visual Studio の淡色、濃色、青のテーマ間にシームレスな一貫性を確保しました。

breakpoint-settings

Meters API を介した新しいインストルメント向けの .NET カウンターのサポート

NET カウンター ツールに .NET Meters API の統合が導入され、"Counter" や "ObservableCounter" などの新しいインストルメント オプションが含められるようになりました。

"Counter" は時間の経過と共に変化する値を追跡し、呼び出し元が "Counter.Add" を使用して更新を報告します。一方の "ObservableCounter" は Counter に似ていますが、呼び出し元が合計値の追跡を行います。 現在、.NET カウンター ツールは、合計の変化率を報告します。

.NET カウンター メトリックの一覧でこれらのメトリックを確認できるため、システム パフォーマンスとリソース使用率の可視性が向上します。この機能をさらに強化するために、将来的に追加のインストルメント オプションを導入することを積極的に計画しています。

17.8.p2.DotNetCounter-MetersApi.mp4

診断ハブを使用したテスト プロファイル

更新されたテスト プロファイリング機能を紹介できることを嬉しく思います。 テスト エクスプローラーでテストを右クリックし、[プロファイル] を選択すると、次のような一連の使用可能なツールを選択できるようになりました。

  • CPU 使用率
  • GPU 使用率
  • ファイル IO
  • .NET Async
  • イベント ビューアー

使用するツールを選択し、[スタート] をクリックすると、レポートが表示されます。

テスト プロファイル


Razor ツール

イベント ハンドラー メソッド生成用のコード アクション

まだ定義されていない C# メソッドを参照するために @onclick や @onactivate などのイベントを使用している場合は、新しい Razor コード アクションを使用して、そのイベント ハンドラー メソッドを自動的に生成することができます。 このコード アクションでは、カスタム イベント引数もサポートされています。

イベント ハンドラー メソッド生成用のコード アクション

C# コードの背景色

Razor ファイル内にある C# コードの背景色を追加するオプションが追加されました。 既定ではオフになっています。このプションを有効にするには、[ツール] > [オプション] > [テキスト エディター] > [Razor] > [詳細設定] に移動して、[C# コードの背景] を True に設定します。

C# コードの背景色


JavaScript および TypeScript の開発環境

新しい React TypeScript と ASP.NET の結合テンプレート

このブログ記事の ASP.NET 結合テンプレートを使用して JavaScript/TypeScript を最初にリリースしたとき、ユーザーの React TypeScript プロジェクト作成エクスペリエンスを向上させてほしいというフィードバックがありました。 この新しい React TypeScript と ASP.NET の結合テンプレートでは、tsconfig と SpaProxy が最初から設定されています。

React TypeScript と ASP.NET の結合テンプレート

Open Folder の launch.json サポート

起動設定とデバッグ設定を保存するために、.vscode ディレクトリ内の launch.json を含むワークスペース上のフォルダーを開くと、Visual Studio がそのフォルダーを認識し、緑色のボタンのすぐ隣にあるデバッグ ターゲットのドロップダウン メニューに含められます。

Open Folder の launch.json サポート


SQL

  • SQL Server Data Tools (SSDT ) で Microsoft.Data.SQLClient (MDS) をバージョン 3.0 からバージョン 5.0 にアップグレードしました (詳細情報)
  • [接続] ダイアログ ボックスに 2 つの新しいフィールドが追加されました 接続ダイアログ ボックス
  • Encrypt プロパティは、接続時に既定で true (有効) に設定されるようになりました。 サーバーに信頼された証明書が構成されていない場合は、[信頼できるサーバー証明書] の使用を true に設定することが適切な場合があります。 詳細については、ドキュメントを参照してください。

新しい IntelliTest がプレビューに

IntelliTest では、.NET コードを検索し、最新バージョンの Z3 プロブレム ソルバーを利用して、コード カバレッジの高いテスト スイートを生成します。 テストを生成すると、回帰スイートとして機能するテスト プロジェクトに保持するテストを選択できます。 コードが更新されたら、IntelliTest を再実行して、生成されたテストをコードと同期させることができます。

この Enterprise Edition 機能の以前の実装では、.NET Framework を対象とするコードのみがサポートされ、x64 構成はサポートされていませんでした。 今回の更新されたバージョンには、次のものが含まれています。

この機能を有効にするには、[ツール] > [プレビュー機能の管理] に移動し、[Z3 v4 を使用した NetFx と Net6 の IntelliTest サポート] を選択します (再起動が必要)。

Intellitest の有効化

その後、コード内のメソッドを右クリックし、IntelliTest (プレビュー) を選択し、[プロジェクトの作成] を選択してテストを保存できるプロジェクトを作成するか、テストを生成して、確認して保持するテストを決定するために一連のテストを生成します。

Code で Intellitest をアクティブにする


|

パフォーマンスの強化

Razor/Blazor の応答性の向上

Razor と Blazor を使うソリューションの応答性が向上します。 これは、Visual Studio と Roslyn の間のクロスプロセス通信中のメモリ割り当てを大幅に減らすことで実現しました。 OrchardCore ソリューションのテストを行い、結果は印象的です。 ソリューションを開いて Razor IntelliSense を準備するために割り当てるメモリが、約 1.4 GB 減っています。 ヒープの割り当てが少ないほど、ガベージ コレクターの作業が少なくなり、応答性が向上します。

F5 の速度の向上

ブレークポイントの設定方法を最適化することで、ネイティブ プロジェクトの F5 のパフォーマンスが大幅に向上しました。 特定のプロジェクトで見られる向上は、ブレークポイントが設定されているファイルの数、シンボルを含む DLL の数などによって異なります。さらに、Windows アプリケーションでの PDB 読み込みプロセスを最適化し、見つかった PDB を読み込むのに必要な時間を短縮しました。 テストでは、これらの最適化によって Unreal Editor プロジェクトの速度が 20% 向上しました。

F5 の速度の向上

C++ Unreal Engine 用に最適化された IntelliSense

以前に開いた C++ ファイルを開いた後で、IntelliSense と色付け機能が使用できるようになるまでの速度を改善しました。 開かれたファイルの IntelliSense の状態を、常にキャッシュしています。 17.8 では、キャッシュからの読み取りを構築し直し、色付けや選択された参照の強調表示など、最も重要な情報が最初に計算されるようにしました。 この最適化は、すぐに作業を始めるのに役立ちます。

IntellisenseCPlus

SDK 以外のスタイルの .NET プロジェクトでのビルドの高速化

Visual Studio 17.8 では、ビルド時間に大きな影響を与える、SDK 以外のスタイルのプロジェクト (.NET Framework 4.8 以前が対象のプロジェクトなど) を対象とするマネージド アプリケーションに対するビルドのアクセラレーションが強化されています。 有効にするには、MSBuild のプロジェクト プロパティを次のように設定します。

<Project> 
    <PropertyGroup>  
        <AccelerateBuildsInVisualStudio>true</AccelerateBuildsInVisualStudio>
    </PropertyGroup>  
</Project>   

これは、17.5 で導入に成功した、SDK スタイルのプロジェクトでの増分ビルド時間の大幅な短縮に基づいています。

社内のソリューションを使った社内のテストでは、増分ビルド時間が最大で 50% 向上することがわかりました。 ただし、実際の改善は、ビルド開始時のプロジェクトの状態によって異なります。 具体的には、ソリューション内のプロジェクト総数と比較して変更されたプロジェクトが少ないほど、改善が大きくなります。 実際にどの程度改善したと感じるかは、プロジェクトの特定の特性とその変更によって異なります。

エンタープライズ管理

管理者は、Visual Studio のインストールの更新または変更の標準ユーザー コントロールを委任する前に、クライアント コンピューターを簡単に初期化できるようになりました。 "vs_enterprise.exe install --installerOnly" を実行して、プログラムによってインストーラーのみをインストールできるようになりました。

組織全体への毎月のセキュリティ更新プログラムの配信に管理者の更新ソリューションを活用している管理者は、Visual Studio を閉じるようにユーザーにプロンプトを表示できるようになりました。これは、管理者の更新を適用できない場合の一般的な状況です。 プロンプトを有効にするには、新しい "AdministratorUpdatesNotifications" グローバル ポリシーを構成します。これは、Intune 設定カタログと ADMX テンプレートのどちらでも使用できます。 この機能を提案した管理者コミュニティに感謝します。


フィードバックと提案

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


ブログ

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


ページのトップへ