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


ヒント

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.4 は、リリース後に次の長期サービス チャネルになります。 17.4 LTSC チャネルで更新プログラムを受信するように構成されている Enterprise ユーザーと Professional ユーザーはサポートされ、2024 年 7 月までセキュリティの脆弱性に対する修正プログラムを受け取る予定です。 Visual Studio でサポートされるベースラインの詳細については、Visual Studio 2022 のサポート ポリシーに関するページを参照してください。

Visual Studio 2022 ブログ

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

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


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


17.4.2 Visual Studio 2022 バージョン 17.4.2

リリース日: 2022 年 11 月 29 日

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

  • /analyze で C++ コンパイラがクラッシュする問題を修正しました。
  • コンパイラのバグを修正しました。このバグは、間違って 0 の拡張子を引き出していました
  • Visual Studio セッション間で一部の C++ 書式設定オプションが正しく永続化されない問題を修正しました。
  • 貼り付けのハングに関する問題を修正しました
  • このバージョンの Visual Studio には、Win App SDK 1.2.221109.1 が含まれています。「Windows アプリ SDK リリース チャネル - Windows アプリ |詳細については、Microsoft Docs。

Developer Community から


17.4.1 Visual Studio 2022 バージョン 17.4.1

リリース日: 2022 年 11 月 15 日

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

  • vs インストーラーで「arm64ec」または「ec」と検索すると、arm64ec サポートを含む関連する arm64 コンポーネントが表示されるようになりました。
  • Visual Studio 2022 バージョン 17.3 以降で、GPU を使用して画像分類モデルをトレーニングするときに ML.NET Model Builder がハングしていました。 このデッドロックは解決され、画像分類は CPU または GPU を使用して正常にトレーニングを行うことができます。
  • 統合ターミナルでスクリーン リーダーを使用すると、実行されたコマンドとその出力に関する情報が正しく提供されるようになりました。
  • .NET 7 Linux コア ダンプを開くときに Visual Studio がクラッシュすることはありません。

Developer Community から


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

Arm64
このプレビューでは、Windows 11 における Arm64 のネイティブ サポートを継続的に構築しています。 .NET デスクトップ開発 (WinForms と WPF)、C++ によるデスクトップ開発 (MSBuild ベースのプロジェクト用)、ASP.NET と Web の開発のサポートに加えて、ユニバーサル Windows プラットフォーム開発ワークロードを有効にしました。 詳細については、ブログの投稿をお読みください。

C++

  • コンパイラ エラー メッセージが向上し、特に概念に関して、より正確で有用な情報が提供されます。
  • SARIF ビルド ログを指定したディレクトリに出力する実験的な MSVC フラグ /experimental:log<directory> を追加しました。
  • IntelliSense に C23 属性のサポートを追加し、C++ 20 モジュールのサポートを継続的に進めました。
  • 新しいソリューションを開くときのインデックス作成のパフォーマンスが向上しました。 17.3 以降、大規模なプロジェクトでは 20 から 35% の向上が見られる可能性があります。
  • Named Return Value Optimisation (NRVO) に次のような機能強化を加えました。
    • 例外処理またはループを含む場合に NRVO を有効にする。
    • ユーザーが /Zc:nrvo フラグ、または /std:c++20 以降、または /permissive- を渡した場合、/Od でも NRVO を有効にする。
    • ユーザーが /Zc:nrvo- フラグを使って NRVO を無効にできるようにする。
  • Visual Studio に付属する LLVM のバージョンを 15.0.1 にアップグレードしました。 使用可能な内容については、LLVM および Clang のリリース ノートを参照してください。
  • CMake プロジェクトでの vcpkg 成果物のサポートが Visual Studio に追加されました。 vcpkg マニフェストを含むプロジェクトでは、プロジェクトを開くと自動的に環境がアクティブになります。 この詳細については、「Visual Studio での vcpkg 環境のアクティブ化」のブログ投稿を参照してください。
  • C++ プロジェクトで Dev Containers を使用できるようになりました。 この機能の詳細については、Dev Containers for C++ に関するブログ投稿を参照してください。
  • IntelliSense で、いずれかが PCH である場合に、preincluded ヘッダーの順序を尊重するようになりました。 以前は、/Yu を指定して PCH を使い、/FI を指定して強制的にインクルードした場合、IntelliSense では、/FI を指定してインクルードした他のヘッダーよりも前に、常にこれを最初に処理していました。 これはビルドの動作と一致しないため、今回の変更により、/FI ヘッダーは指定した順序で処理されるようになりました。
  • テスト エクスプローラーの CTest 名から内部プレフィックスを削除しました。
  • Visual Studio に付属する CMake のバージョンをバージョン 3.24.1 にアップグレードしました。 入手できる内容については、CMake のリリース ノートを参照してください。
  • Android SDK の更新プログラム
    • Ant スクリプトが削除されたので、[新しいプロジェクト] ダイアログには Ant ベースのテンプレートが表示されなくなりました。 Ant テンプレートから Gradle テンプレートへの移行については、「Migrating Builds From Apache Ant」(Apache Ant からのビルドの移行) (gradle.org) を参照してください。
    • NDK 23 および 24 を使ったビルドのサポートを追加しました
    • NDK コンポーネントを LTS バージョン 23 に更新しました
  • ranges::min_element()ranges::max_element()ranges::minmax_element() のベクトル化された実装を追加しました
  • Microsoft では C++ の標準化における最新の開発状況を継続的に追跡しており、次の C++ 23 機能のサポートはコンパイラ オプションに /std:c++latest を含めることで使用できます
    • P2302ranges::containsranges::contains_subrange
    • P2499string_view Range Constructor は explicit にする必要がある
    • P0849R8auto(x): 言語内の decay-copy
    • コンパイラ部分はまだ実装されていません。ライブラリ部分は Ranges の初期実装時に C++ 20 モードで実装されました。
    • P0881R7<stacktrace>
    • P2301R1std::stacktrace 用に pmr の別名を追加する
    • P1328R1constexpr type_info::operator==()
    • P2440R1ranges::iotaranges::shift_leftranges::shift_right
    • P2441R2views::join_with
  • [宣言/定義の作成] 機能のナビゲーション動作を選択できるように、オプション [Navigation after Create Declaration/Definition] (宣言/定義の作成後のナビゲーション) を追加しました。 クイック表示 (既定値)、ドキュメントを開く、またはナビゲーションなしのいずれかを選択できます。
  • Visual Studio の Arm64 ビルドは、Arm64 バージョンの CMake と Ninja をバンドルするようになりました。
  • CMake Presets バージョン 4 のサポートを追加しました。 入手できる内容の詳細については、CMake のリリース ノートを参照してください。
  • 接続マネージャーを使ったリモート システムへの接続で、SSH ProxyJump をサポートするようになりました。これは、別の SSH ホスト経由で SSH ホストにアクセスするために使われます (たとえば、ファイアウォールの内側のホストにアクセスする場合)。

Developer Community のハイライト

デバッグと診断

  • DataTable ビジュアライザーがアップグレードされ、フィルター処理、並べ替え、エクスポート、テーマ設定などの新しい機能強化が追加されました。
  • CSV/Excel 形式でデータ エクスポートを行うには、右上隅のドロップダウンを使います。
  • また、ビジュアライザーを使って、目的のフィルター文字列に基づいてデータをフィルター処理することもできます。 フィルター文字列に一致する値を含むすべての行が返されます。 また、フィルター処理された結果と並べ替えられた結果を CSV または Excel 形式でエクスポートすることもできます。
  • ビジュアライザー ウィンドウは、選んだ Visual Studio のテーマに従ってテーマが設定されます。

エディターの機能

  • Visual Studio でオーディオ キューを使用できるようになりました。 オーディオ キューを有効にするには、[ツール] > [オプション] に移動してから、[テキスト エディター] > [全般] に移動します。 [設定] セクションで、[オーディオ キューを有効にする] オプションをオンにして、オーディオ キューを有効にします。このオプションをオンにすると、エディターのキャレットがエラー、ブレークポイント、または警告のある行に移動すると、Visual Studio でオーディオ キューが再生されます。 また、差分ビューでのファイルの表示時に、追加または削除された行に移動したときもキューが再生されます。 これらのキューは、Windows の [設定] コントロール パネルで個別に有効化または変更できます。
  • エディターで Shift キーを押しながらマウス ホイールを回すと、エディターが水平方向にスクロールするようになりました。 エディターがスクロールする量は、[ツール] > [オプション] の [テキスト エディター] > [詳細設定] で構成できます。
  • エディターの現在行の番号が、視認しやすいように強調表示されます。
  • [出力] ペインに、各行の先頭にタイムスタンプを付加するボタンが追加されました。これにより、開発者は、実行時間の長いプロセスのステップ間でどれだけの時間が経過したかを簡単に確認できます。
  • プリンターの設定が正しく保存されないことがある問題を修正しました。
  • Visual Studio のエディターでテキストを選ぶと、一致する文字列が自動的に強調表示されるようになりました。 この機能を有効にするには、[ツール] > [オプション] に移動してから、[テキスト エディター] > [全般] に移動します。 [表示] セクションで、[選択項目の一致を表示] オプションをオンにします。 このオプションをオンにすると、100 文字以下のテキスト行を 1 つ選ぶたびに、一致した文字列がすぐに強調表示されます。

F#

ローカル関数の引数に関するヒント

Git ツール

Developer Community のハイライト

その他の機能

  • マルチリポジトリのサポートは、一度に最大 10 個の Git リポジトリをアクティブにできることを意味します。これにより、複数のリポジトリにまたがるソリューションを操作し、コミット、プル、プッシュなどの Git 操作を複数のリポジトリに対して同時に実行できます。 マルチリポジトリのサポートを使い始めるには、複数のリポジトリにまたがるプロジェクトを含むソリューションまたはフォルダーを開きます。 ブログ記事を読んで詳細を確認し、フィードバックをお送りください。
  • 追跡対象の Git ファイルを追跡解除して無視する
  • 最近行われた Git のセキュリティの更新に合わせて、リポジトリの状態を改善し、新しい信頼ダイアログを利用することで、単一および複数の Git リポジトリを信頼するユーザー エクスペリエンスを強化しました。

インストールと更新

ロールバック

Visual Studio で、以前にインストールしたバージョンに戻る機能がサポートされるようになりました。 詳細については、 ロールバックに関するブログ投稿を参照してください。

サポート対象外のコンポーネントを削除する

Visual Studio 2022 バージョン 17.4 インストーラーには、 サポート対象外の状態に移行した Visual Studio がインストールしたすべてのコンポーネントを簡単に一括削除できる新機能が含まれています。 これは、セキュリティで保護された準拠環境を維持するのに役立ちます。 開発者は更新または変更の際にこのアクションを開始でき、IT 管理者はポリシーによって適用できます。 レイアウトを使用する企業では、一度構成したレイアウトの設定を、その後の管理者による更新のときに適用することができます。 Visual Studio 2017 と 2019 のクライアント コンピューターが最新の Visual Studio インストーラーを使うように更新されている場合は、それらでもこの機能が動作します。 この機能のしくみについて詳しくは、「Visual Studio 管理者ガイド」またはブログ記事をご覧ください。

管理者テンプレート (ADMX) を使用してポリシーを構成する

Visual Studio 管理者テンプレート ファイル (ADMX/ADML) をリリースしました。これを使うと、IT 管理者は、ポリシーによって管理できる Visual Studio の動作を簡単に検出、管理、制御できます。 ADMX ファイルは、グループ ポリシー エディターや Microsoft Endpoint Manager などの一般的な管理および展開ツールとも簡単に統合できます。 追加情報については、こちらをご覧ください

Visual Studio のセキュリティ更新プログラムが、Windows Update for Business の Microsoft Update チャネルを通じて利用できるようになった

Windows Update for Business を使い、Microsoft Endpoint Manager (旧称 Intune) などのモバイル デバイス管理ソリューションによって管理されている、クラウドに接続された Azure Active Directory (Azure AD) 参加済みの最新のデバイスで、Visual Studio のすべてのサポートされるバージョンのすべての Visual Studio セキュリティ更新プログラムを入手できるようになりました。 クライアント デバイスでこの機能を有効にするには、AdministratorUpdatesEnabled ポリシーを 2 に設定します。 詳しくは、ブログ投稿と「Visual Studio 管理者ガイド」をご覧ください。

IntelliCode

IntelliCode に、1 行のコードの一部を変更または削除する提案がある場合、提案は C# ユーザーのエディター画面に "差分ビュー" として表示されるようになりました。 ユーザーは、Tab キーを使って予測を受け入れることができます。

Microsoft Teams 開発ツール (Teams Toolkit)

  • この新しいバージョンの Teams Toolkit では、Azure Active Directory テンプレート ファイル、projectSettings.json、アプリ マニフェスト ファイルを更新する必要があります。 これらの更新は、Teams Toolkit のメニュー コマンドを実行した後に自動的に実行されます。プロジェクトのソース コードは変更されません。 出力ウィンドウには更新の状態が表示されます。
  • Microsoft Teams App プロジェクト テンプレート ウィザードのタブ アプリケーションの種類には、シングル サインオンを構成するかどうかのオプションが含まれています。 [プロジェクト] > [Teams Toolkit] > [認証コードの追加] を使って後で追加してください。 Teams Toolkit の詳細については、ドキュメント (https://aka.ms/teams-toolkit-vs-docs) を参照してください

.NET の生産性

  • 型の名前を変更できる、新しいインラインの名前変更 UI があります。 新しいインラインの名前変更を表示するには、Ctrl+RR キーを押します。 型の下に新しい UI と、コメント、文字列、シンボル ファイルの名前を変更するオプションが表示されることがわかります。

インラインの名前変更

  • Source Link と埋め込みソースを無効にするオプションを追加しました。 この機能を無効にするには、[ツール] > [オプション] > [テキスト エディター] > [C#] > [詳細設定] を選び、[Enable navigation to Source Link and Embedded source] (Source Link と埋め込みソースへのナビゲーションを有効にする) をオフにします。

Source Link と埋め込みソースを無効にする

DataTable ビジュアライザー

  • [ドキュメント アウトライン] ウィンドウで、ファイルの構造を一目で簡単に確認できるようになりました。 [ドキュメント アウトライン] ウィンドウでは、プロジェクト ファイルの簡単な移動と編集に役立つファイルのシンボル ツリーがエディターに表示されます。 [ドキュメント アウトライン] を開くには、[表示]>[その他のウィンドウ]>[ドキュメント アウトライン] に移動する、Ctrl+Alt+T ショートカット キーを使います。

ドキュメント アウトライン

テスト ツール

  • Live Unit Testing では、すべての状態をリセットするためのボタンが用意されました。 [テスト] > [Live Unit Testing] > [ソリューションの Live Unit Testing 状態をリセットする] に移動します。 Live Unit Testing のリセット状態
  • Live Unit Testing で Razor ファイルがサポートされるようになりました。
  • 失敗するまでテストを実行すると、不安定なテストを見つけるのに役立ちます。エラーに達するまで、または [オプション] で設定したしきい値に達するまで、単体テストが実行されます。
  • 新しいコード カバレッジ変更セット レポートでは、変更したファイルや行のみのスコープで、コード カバレッジ レポートが表示されます。

パフォーマンスの向上

このリリースでは、Visual Studio の次の部分でパフォーマンスが向上しました。

  • [フォルダーを指定して検索] と [フォルダーを指定して置換]
  • Git ブランチの切り替え
  • 単体テストのパフォーマンス
  • 言語サービス構成スイッチの最適化
  • 応答が速いファイルの保存
  • C++ のインデックス作成

このリリースのすべてのパフォーマンス強化の詳細を確認してください


Dev Box での Visual Studio

  • Dev Box はローカル ネットワーク上にないため、ローカル ネットワーク上の Mac にインターネット経由で接続するには、パブリック IP を使う必要があります。
  • Android エミュレーターが読み込まれない場合は、{ここに手順を挿入} で Hyper-V が有効であることを確認します。 Hyper-V オプションがオフの場合は、有効にし、Dev Box を再起動してからエミュレーターを使ってください。

Developer Community から


既知の問題

.NETSDK: .NET SDK 17.4 にアップロードした後、どのプロジェクトも読み込まれない [7.0] .NET 7 プレビュー SDK ワークロードがインストールされている場合、特定のワークロードを使用するプロジェクトの読み込み、ビルド、実行が行われません。プレビュー .NET 7 SDK がインストールされている場合、microsoft.net.workload.mono.toolchain などのワークロード依存関係を持つプロジェクトのビルド、読み込み、または実行が失敗する可能性があります。 この問題の例については、こちらをご覧ください。

解決策: この問題を解決するための最善の方法は、.NET 7 プレビュー SDK をアンインストールすることです。 詳しい手順については、dotnet のアンインストール手順に関するページをご覧ください。 たとえば、Windows では、プログラムの追加と削除を使用して dotnet プレビュー SDK をアンインストールできます。 もう 1 つの方法は、フォルダー C:\Program Files\dotnet\sdk-manifests\microsoft.net.workload.mono.toolchain を削除することですが、これはファイル ベースのインストールでのみ機能します。 Dotnet-core-uninstall は、.NET 7 プレビュー SDK をアンインストールするためのもう 1 つのオプションです。

Python とネイティブ混合モードのデバッグ: Python とネイティブ混合モードのデバッグには、仮想環境の使用中に発生する既知のバグが存在します。 Python for Windows では venv 用のスタブ python.exe が使用されるため、Visual Studio ではサブプロセスとして python.exe を探して読み込みます。 Python 3.8 以降の場合 - デバッグ セッションを開始すると、混合モードではマルチプロセス デバッグに対応していないため、実際のアプリではなく、そのスタブ プロセスのみをデバッグします。 アタッチ シナリオの場合、回避策は正しい python.exe にアタッチすることです。 起動/F5 の場合、回避策はありません。残念ながら、venv を避ける必要があります。 3.8 より前のバージョンの Python の場合、混合モードのデバッグは venv で想定どおりに動作します。 グローバル環境で実行すると、どのバージョンの Python でもこれらの問題は発生しません。 詳細については、「Python とネイティブの両方をデバッグできない」を参照してください。

NUnit テストの検出/実行: テスト エクスプローラーからの NUnit テストの検出/実行が 17.4 で失敗し、[出力] ペインに "Framework バージョンが不明です: 7.0" の例外が表示される

解決方法: Nunit3TestAdapter への参照がある場合は、 が 4.3.1 以降に更新されていることを確認してください。

NuGet パッケージVisual Studio 17.4 では、クラス ライブラリ プロジェクトの発行中に NuGet パッケージが生成されません。

解像 度 これは、Visual Studio での発行動作をすべての .NET プロジェクトの種類で一貫させるために、17.4 で意図的に変更されたものです。 クラス ライブラリ プロジェクトの NuGet パッケージを生成するには、次のいずれかの方法をお勧めします。

  1. プロジェクト プロパティを設定して、ビルド時に NuGet パッケージを生成します(または、 https://learn.microsoft.com/en-us/nuget/quickstart/create-and-publish-a-package-using-visual-studio?tabs=netcore-cli#configure-package-properties
  2. 右クリックで使用できる pack コマンドを実行します 。>https://learn.microsoft.com/en-us/nuget/quickstart/create-and-publish-a-package-using-visual-studio?tabs=netcore-cli#run-the-pack-commandこの新しい変更により、publish コマンドは、他のすべての .NET プロジェクトの種類に対する動作と同様に、クラス ライブラリの発行出力を生成します。 詳細については、こちらのドキュメント ページを参照してください。 https://learn.microsoft.com/en-us/nuget/quickstart/create-and-publish-a-package-using-visual-studio?tabs=netcore-cli 次に示すように、さまざまなパック msbuild プロパティを使用してパックの動作を変更することもできます。 https://learn.microsoft.com/en-us/nuget/reference/msbuild-targets#pack-target

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

##.NET 7 を現在利用できます。.NET 7 では、アプリのパフォーマンスが向上し、C# 11/F# 7、.NET MAUI、ASP.NET Core/Blazor、Web API、WinForms、WPF などの新機能が提供されます。.NET 7 では、簡単に .NET 7 プロジェクトをコンテナー化し、GitHub Actions で CI/CD ワークフローを設定し、クラウドネイティブの監視を実現することもできます。


フィードバックと提案

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


ブログ

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


ページのトップへ