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


ヒント

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

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


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

Download Community ButtonDownload Professional ButtonDownload Enterprise Button

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

重要

プレビュー チャネルは、"Go Live" ではなく、実稼働コンピューターでの使用や実稼働コードの作成を目的としていません。 詳細については、「Visual Studio の製品ライフサイクルとサービス」を参照してください。

Download Community Preview ButtonDownload Professional Preview ButtonDownload Enterprise Preview Button


Visual Studio 2022 バージョン 17.3 の新機能

Visual Studio 2022 ブログ

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

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

Visual Studio 2022 バージョン 17.3 で対処された Developer Community の問題の一覧を次に示します


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


17.3.6 Visual Studio 2022 バージョン 17.3.6

"リリース日: 2022 年 10 月 11 日"

この 17.3.6 のリリースで対処された問題

  • iOS/tvOS 用 .NET 6 に Xcode 14.0 のサポートを追加
  • .NET MAUI 6.0 サービス リリース
  • デバッガーの DataSet ビジュアライザーを開くときに間欠的にクラッシュする問題に対応しました。
  • 管理者は、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) には、悪意のあるアクターがユーザーによる任意のコードの実行を引き起こすことができるおそれのある脆弱性が存在します。

17.3.5 Visual Studio 2022 バージョン 17.3.5

"リリース日: 2022 年 9 月 27 日"

この 17.3.5 のリリースで対処された問題

  • WinForms .NET Designer を終了するときに、Visual Studio が間欠的に無応答状態になる問題を修正しました。
  • ユーザーがブラウザー設定で HSTS を有効にし、Visual Studio キーチェーンに GitHub アカウントを追加すると、問題をトラブルシューティングするためのリンクと共にエラー メッセージが表示されます。
  • バージョン 4.3.0 を対象とする Roslyn アナライザーとソース ジェネレーターが Visual Studio で読み込みに失敗する問題を修正しました。
  • Xcode 14.0 のサポートを追加

Developer Community から


17.3.4 Visual Studio 2022 バージョン 17.3.4

"リリース日: 2022 年 9 月 13 日"

この 17.3.4 のリリースで対処された問題

  • 警告 C4191 の擬陽性の発行を停止します。
  • このリリースでは、Visual Studio 17.3 で ClickOnce プロジェクトを公開した後に発生する次の警告が修正されました: 'Microsoft .NET Framework 4.7.2 (x86 および x64)' の 'PublicKey' 属性の値が、ファイル 'C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\DotNetFX472\NDP472-KB4054530-x86-x64-AllOS-ENU.exe' の値と一致しません

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

CVE-2022-38013 .NET サービス拒否の脆弱性 ASP.NET Core 3.1 および .NET 6.0 にはサービス拒否の脆弱性が存在します。この脆弱性により、悪意のあるクライアントによってスタック オーバーフローが発生し、モデル バインド中に解析されるカスタマイズされたペイロードを攻撃者が送信すると、サービス拒否攻撃が発生する可能性があります。


17.3.3 Visual Studio 2022 バージョン 17.3.3

"リリース日: 2022 年 8 月 30 日"

この 17.3.3 のリリースで対処された問題

  • C# または VB.NET プロジェクトで名前の変更を行うと、VS がハングする問題を修正しました。

Developer Community から


17.3.2 Visual Studio 2022 バージョン 17.3.2

"リリース日: 2022 年 8 月 23 日"

この 17.3.2 のリリースで対処された問題

  • Visual Studio で英語以外の言語が選ばれている場合の [ツールボックス] -> [アイテムの選択] コマンドを修正しました。
  • インストーラーが更新され、不足している可能性のある内部依存関係が処理されるようになりました。

Developer Community から


17.3.1 Visual Studio 2022 バージョン 17.3.1

"リリース日: 2022 年 8 月 16 日"

この 17.3.1 のリリースで対処された問題

  • Windows SDK for Windows 11 のサービス更新プログラム 10.0.22000.832 が含まれています。

Developer Community から


17.3.0 Visual Studio 2022 バージョン 17.3

"リリース日: 2022 年 8 月 9 日"

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

  • MAUI ワークロード GA ビルド
  • MAUI/Blazor CSS ホット リロードのサポート
  • "What's New" (新機能) を使って、更新プログラムごとに Visual Studio で新しい機能の選択を試すことができるようになります。
  • 各機能を選ぶと、特定の機能の詳細を確認できます。

What's New in Visual Studio

Apple Developer アカウント

このプレビューには、エンタープライズ以外の Apple 開発者に必要な個々の AppStoreConnect アカウントの初期サポートが含まれています。

  • 個別アカウントを追加するには、[ツール]\[オプション] を開き、[Xamarin] セクションにある [Apple アカウント] 項目を選びます。 [Apple アカウント] で、[アカウントの追加] ボタンをクリックし、[個別のアカウントの追加] を選び、AppStoreConnect API キー情報を入力します。
  • アカウントが作成されると、[詳細の表示] ボタンから証明書とプロビジョニング プロファイルにアクセスできるようになります。
  • 既知の問題:
    • 場合によっては、個別アカウントでは自動プロビジョニングが正しく機能しないことがあります。 この問題を回避するには、手動プロビジョニングの手順に従ってください。

エディターのオーディオ キュー

  • Visual Studio エディターで新しいオーディオ キューが導入されました。 有効にすると、編集キャレットがブレークポイント、エラーまたは警告のある行に到達したときに、Visual Studio によってサウンドが再生されます。 既定では、Visual Studio は Visual Studio Code と同じサウンドを使いますが、これらのサウンドはユーザーの好みに合わせて構成できます。
  • オーディオ キューを "有効" にするには、[ツール]\[オプション] に移動し、[環境] で [プレビュー機能] を探します。 プレビュー機能では、新しいオプションは [エディターのオーディオ キューを有効にする] です。 オンにすると、次に Visual Studio が起動するときにサウンドが再生されます。
  • 個別のオーディオ キューを "構成する" には、Windows 10 か Windows 11 で Windows キーをタップして「システム サウンドの変更」を検索します。 [プログラム イベント] ツリーで、[Microsoft Visual Studio] ノードを探します。 新しいイベントは、"Line has Breakpoint" (行にブレークポイントがあります)、"Line has Error" (行にエラーがあります)、"Line has Warning" (行に警告があります) です。 これを使って、個別の音をカスタマイズしたり無効にしたりできます。

Sound Control Panel in Windows

Git ツール

行ステージングのサポート (つまり、対話型ステージング) により、コードの特定の行やチャンクをエディターと差分ビューから直接ステージングできるようになりました。 使用を開始するには、対応する色マージンを選択し、差分をクイック表示する UI を利用して変更をステージングして、最近の変更のうち 1 つをステージングします。

ブログ記事を読んで、詳細を確認し、フィードバックを共有してください

Line-staging support

C++

  • Arm64EC ツールチェーンは、実験段階としてマークされなくなり、運用環境で使う準備が整いました。
  • Visual Studio ターミナルは、格納されている SSH 接続で SSH クライアントとして使用できるようになりました。 C++ for Linux Tools をインストールした状態で、ターミナル ツール ウィンドウを開くと、ターミナル ドロップダウンに格納されている接続が入力されます。 選択すると、Visual Studio 内で新しいターミナル ウィンドウが開き、リモート システムの擬似ターミナルが表示されます。 制御文字、色、カーソル位置の認識はすべてサポートされています。
  • Visual Studio で、UE プロジェクト用の Unreal Engine クラス テンプレートを追加できるようになりました。 この機能を試すには、VS インストーラー内の "C++ を使ったゲーム開発" ワークロードで "Unreal Engine の IDE サポート" が選ばれていることを確認します。 UE プロジェクトで作業する場合は、プロジェクトまたはフォルダー/フィルターを右クリックし、[追加] > [UE クラス] を選びます。
  • [定義へ移動] は以前のシグネチャを記憶し、より適切な一致がない場合 (例: ペアの 1 つのシグネチャを手動で変更した後など)、それに応じてナビゲートするようになりました。
  • [すべてに移動] の応答性が向上しました。 以前は、入力を停止した後に結果が表示されていました。 新しいエクスペリエンスでは、入力するたびに結果が表示されます。
  • 列挙型の補完を必要とするコンテキスト (例: 列挙型変数への割り当て、case ラベル、列挙型の戻り値など) では、オートコンプリート リストが一致する列挙子と関連する構成体のみにフィルター処理されるようになりました。
  • .NET Core を対象とする C++/CLI MSBuild プロジェクトの NuGet PackageReference サポートが追加されました。 この変更は、混合コードベースのブロックを解除して .NET Core 導入を可能にするために行われました。 これは、他の C++ プロジェクトの種類や、.NET Framework を対象とする C++ プロジェクトの種類では機能しません。 チームは、MSBuild 以外のシナリオで動作し、その他の機能を追加する vcpkg に関する個別のエクスペリエンスに取り組んでいるため、PackageReference のサポートを他の C++ シナリオに拡張する予定はありません。
  • [デバッグ] > [Windows] > [シリアル モニター] で利用できる、埋め込み開発用のシリアル モニター ウィンドウを追加しました。
  • 17.2 と比較して、C++ のインデックス作成が最大 66% 向上しました。
  • Visual Studio に付属する CMake のバージョンをバージョン 3.23 にアップグレードしました。 使用可能な内容の詳細については、CMake 3.23 リリース ノートを参照してください。
  • Visual Studio に付属する LLVM ツールのバージョンを v14 にアップグレードしました。 使用可能な内容の詳細については、LLVM および Clang のリリース ノートを参照してください。
  • サイド バイ サイド Dev 16.11 C++ ツールセットをバージョン 14.29.30145.00 に更新しました。 最新バージョンの Dev 16.11 C++ ツールセットには、残っているすべての C++ 20 不具合報告の修正を含む、重要なバグ修正が含まれています。 Dev 16.11 の C++ 20 不具合報告を含むバグ修正については、Visual Studio 2019 バージョン 16.11.14 リリース ノートを参照してください
  • C++ モジュールのエディター内エクスペリエンスについて、さまざまな改善を行いました。 エクスペリエンスの品質向上に継続的に取り組んでいますが、17.3 で試してみることをお勧めします。残っている問題は Developer Community を通じて報告してください。

デバッグと診断

  • 診断分析ツールに、メモリ ダンプ内の一意の呼び出し履歴とそれを実行するスレッドを一覧表示するアナライザーが追加されました。
  • IEnumerable ビジュアライザーで CSV 形式のデータ エクスポートがサポートされるようになりました。 右上隅のドロップダウンから [CSV] を選ぶだけです。ビジュアライザーでは、必要なフィルター文字列に基づいてデータをフィルター処理することもできます。 ビジュアライザーは、フィルター文字列に一致する値を含むすべての行を返します。 また、フィルター処理された結果と並べ替えられた結果を CSV または Excel 形式でエクスポートすることもできます。

Visualizer_Filter

  • また、IEnumerable と DataTable/DataSet のビジュアライザーにテーマのサポートを追加し、これらのビジュアライザー ウィンドウの両方が Visual Studio のダーク、ライト、ブルーのテーマに対応するようになりました。

DataSet Visualizer

  • 17.3 Preview 3 から、デバッガーではシンボルや PDB ファイルなどの以前に逆コンパイルされた成果物が自動的に再読み込みされます。 以前のセッションで逆コンパイルを選んだ場合、成果物は次のすべてのセッションで自動的に再読み込みされ、外部ソース ノードで逆コンパイルされたソースをより速く取得できます。 この場合、JMC の設定はそのまま維持されます。
  • デバッガーには、マネージド コードの NGEN または、読み込み準備済み (RDR) イメージの読み込みを無効にする新しいオプションが追加されました。 [ツール] > [オプション] > [デバッグ] > [全般] > [モジュールの読み込み時にプリコンパイル済みイメージを使用できないようにする] で設定を変更することも、Visual Studio 検索バーで任意のキーワードを使って設定を簡単に検索することもできます。
  • [呼び出し履歴] ウィンドウ内に例外スタック フレームが表示されるようになりました。すべての非同期例外について、シンボルをすばやく読み込んだり、ソースを見つけたりして、例外のサイトに直接移動できます。 [呼び出し履歴] ウィンドウ内の例外スタック フレームでは、実際の呼び出し履歴の機能を提供します。自動ナビゲーション、フレーム間をすばやく切り替える機能、シンボルの読み込み/逆コンパイル オプションなどを使って、例外がスローされたソース コードに戻ります。

Exception Stack

全般

  • 同じ個人用アカウント (アカウント設定ダイアログの左上に表示されるアカウント) で新しいマシンにサインインしたときに、GitHub アカウントがマシン間でローミングされるようになりました。

インストーラー

  • インストーラーの [すべて更新] ボタンで、Visual Studio のすべてのサイドバイサイド バージョンを更新できるようになりました。

Microsoft Teams 開発ツール (Teams Toolkit)

  • Microsoft Teams App プロジェクト テンプレートが改善され、通知ボット、コマンド ボット、タブ アプリ、メッセージ拡張機能など、さまざまな種類の Teams アプリを作成できるようになりました。 Teams Toolkit for Visual Studio を使って、さまざまな Microsoft Teams アプリの作成とデバッグができるようになりました。
  • 以前のバージョンの Teams ツールキットで作成した既存の Teams アプリには、更新されたテンプレートを使用して新しいプロジェクトを作成することをお勧めします。
  • いつ M365 ID でサインインするかを選択し、[プロジェクト] > [Teams ツールキット] > [Teams アプリの依存関係を準備する] メニュー オプションを使用して Teams アプリ リソースを登録できるようになりました。
  • Teams アプリの依存関係を準備すると、Teams プロジェクトの Teams アプリとボットが登録されます。
  • manifest.template.json ファイルの更新は、[Teams アプリの依存関係を準備する] メニュー オプションをもう一度選ぶことで、いつでもローカル デバッグ用に Teams 開発者ポータルと同期できます。
  • manifest.template.json ファイルの更新は、[プロジェクト] > [Teams ツールキット] > [Teams 開発者ポータルでマニフェストを更新する] メニュー オプションを選ぶことで、リモート プレビュー用に Teams 開発者ポータルと同期できます。
  • manifest.template.json ファイルを右クリックし、[マニフェスト ファイルのプレビュー] メニュー オプションを使うと、同期前にマニフェスト ファイルをプレビューできます。
  • [プロジェクト] > [Teams ツールキット] > [クラウドでのプロビジョニング] メニューを使って、Azure サブスクリプションにリソースを作成します。
  • [プロジェクト] > [Teams ツールキット] > [クラウドへのデプロイ] メニューを使用して、それらのリソースにコードを発行します。
  • [Teams アプリのプレビュー] メニューを使って、[プロビジョニング] メニューから作成された、リモートからブラウザーで Teams アプリを開くことができます。
  • [プロジェクト] > [Teams ツールキット] > [Zip アプリ パッケージ] メニュー オプションを選ぶと、共有とアップロードの目的で Teams アプリを圧縮し、アプリ パッケージを生成できます。
  • Teams アプリ プロジェクトを右クリックすると、すべての Teams ツールキット メニュー オプションを見ることができます。これらは [プロジェクト] > [Teams ツールキット] メニューと同じです。
  • Teams ツールキットの詳細については、https://aka.ms/teams-toolkit-vs-docs を参照してください

.NET の生産性

  • C# 10 では、global using を導入しました。 global using は、ファイルの先頭に非表示で using を自動的に追加します。 ファイルの上部にアイコンが表示され、ファイル内で global using がアクティブかどうかがわかります。アイコンをクリックすると、global using とは何かを示します。 Global Usings

  • [定義をここに表示] で、ソース リンク、埋め込みソース、逆コンパイルされたソースをサポートするようになりました。 Peek Definition

  • ファイルを開く際のビューの折りたたみとアウトライン表示には、次の 3 つのオプションが追加されました。

    • ファイルを開くときに #region を折りたたむ
    • ファイルを開くときに using を折りたたむ
    • ファイルを開くときにメタデータから実装を折りたたむ
  • Use expression body or block bodyConvert to raw string literal の両方のリファクタリングに [すべて修正] を適用できるようになりました。

  • 無効な制約を修正するコード修正が追加されました。 エディターの診断波線にカーソルを置きます。 Ctrl+. キーを押して、[クイック アクションとリファクタリング] メニューをトリガーします。 [Fix constraint](制約の修正) を選択します。 Fix Constraint

  • 最上位レベル ステートメントと Program.Main スタイルを切り替えることができるリファクタリングが追加されました。 最上位のステートメントにカーソルを置きます。 Ctrl+. キーを押して、[クイック アクションとリファクタリング] メニューをトリガーします。 [Convert to ‘Program.Main’ style program]("Program.Main" スタイルのプログラムに変換する) を選択します。 Convert to Program.Main refactoring

  • "すべて修正" 操作に新しいスコープを追加しました。 ドキュメント、プロジェクト、ソリューションへの "すべて修正" 操作の適用に加えて、含んでいるメンバーと含んでいる型にも "すべて修正" を適用できます。 Fix All Containing Members and Containing Types

  • 1 行のコメントにスラッシュを追加すると、1 行のコメントがドキュメント コメントに自動的に変換されるようになりました。

  • foreach ループで発生する可能性のある例外に対して警告を表示できるコード スタイル オプションが追加されました。 foreach ループは、設計によって派生型に暗黙的にキャストされます。 これはジェネリックが存在する前には必要でしたが、ランタイム例外が発生する可能性があります。

個人用設定

  • ドキュメント管理機能が更新されました。 詳細については、ブログの投稿をお読みください。

これには次の機能があります。

  • タブを複数行に配置。
  • 最近のドキュメントを復元。
  • 変更されたダーティー インジケーター。
  • ドロップダウンには、非表示のドキュメントの名前が斜体で表示されます。

Razor (ASP.NET Core) エディター

  • 新しい Razor エディターで、<attribute> 内に完全な完了のサポートが追加されました。
  • 新しい Razor エディターで、" " と入力したときに HTML 属性の入力候補が正しく処理されるようになりました。
  • 新しい Razor エディターで、HTML、JavaScript、CSS OnTypeFormatting がサポートされるようになりました。

テスト ツール

  • テスト エクスプローラーからテストを実行するときに、並列検出が既定で有効になりました。 この機能により、Visual Studio は使用できるコアを使ってテストを並行して検出し、テスト エクスプローラーでテストを表示する時間を短縮できます。

  • Live Unit Testing ウィンドウに、テスト エクスプローラーと同様のステータス バーが表示されるようになりました。 これにより、目に見える形でエラーを表面化して、Live Unit Testing で進行中の操作に関するより優れた分析情報が得られるようになります。 Live Unit Testing Status Bar

  • vstest.console では、1 つの要求でさまざまなターゲット プラットフォームとターゲット フレームワークでのアセンブリの実行がサポートされるようになりました。

  • コード カバレッジには、パフォーマンス向上のため静的インストルメンテーション用のキャッシュが追加されました。

  • Microsoft.CodeCoverage.Console がコマンドライン ツールに追加されました。

  • AnyCPU .NET Framework テスト プロジェクトの既定アーキテクチャが x86 から x64 に変更されました。 この変更により、すべての種類のテスト プロジェクトで既定アーキテクチャの決定方法が統一され、常に Visual Studio のアーキテクチャに基づくようになりました。 つまり、x64 バージョンの VisualStudio では x64 が使われ、将来の ARM64 VisualStudio では ARM64 が使われます。 また、同じ規則が dotnet testvstest.console にも適用されます。 x86 を使うように戻すには、[Test] > [AnyCPU プロジェクトのプロセッサ アーキテクチャ] > [x86] に移動します

  • リモート テストで、リモート arm64 Windows 環境に対するテストの実行がサポートされるようになりました。

  • Live Unit Testing の新しいビルド エクスペリエンスが、既定で有効になるようになりました。 詳細については、ブログの投稿をお読みください。

  • [コード カバレッジの結果] ウィンドウで "余白のグリフ" を選択すると、エディターの余白にコード カバレッジ情報が表示されるようになりました。 Convert to raw string

  • Live Unit Testing では、すべての状態をリセットするためのボタンが用意されました。 [テスト] > [Live Unit Testing] > [ソリューションの Live Unit Testing 状態をリセットする] に移動します。

  • Live Unit Testing で Razor ファイルがサポートされるようになりました。

TypeScript と JavaScript の開発

  • JavaScript と TypeScript ファイルのプロジェクトは、tsconfig.json または jsconfig.json ファイルによって参照されない限り、プログラムの分析から除外されるようになりました。 これにより、TypeScript や JavaScript のファイルを多く含む大規模なプロジェクトでのパフォーマンスが向上します。

  • ASP.NET プロジェクトから参照される JavaScript (.esproj) プロジェクトでは、ASP.NET プロジェクトの公開に運用ビルドの出力を含めるオプションが提供されるようになりました。

  • TypeScript 4.7 言語サービスとコンパイラが Visual Studio に含まれています。 詳細については、TypeScript 4.7 のお知らせのブログ記事を参照してください。

  • Node.js (.njsproj) プロジェクトでは、新しいマルチターゲット JavaScript デバッガーが既定で使われるようになりました。

  • JavaScript および TypeScript React (.jsx/.tsx) ファイルで HTML タグが自動で閉じられます。

  • 既定の TypeScript 言語サーバーが選ばれた場合に、自動型取得 (ATA) が機能しない問題を修正しました。

  • Node.js (.njsproj) プロジェクトの依存関係ノードで、npm 7 以降を使ってパッケージが復元された場合に、間接的な依存関係が表示される問題が修正されました。


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


![from-developer-community]Developer Community から


既知の問題

Visual Studio 2022 のすべての未解決の問題と、利用可能な回避策については、以下のリンクから参照してください。

フィードバックと提案

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


ブログ

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


ページのトップへ