Visual Studio 2022 バージョン 17.10 リリース ノート
ヒント
Visual Studio 2022 のローンチ イベントの録画を視聴 して、新機能について学習し、ヒント & テクニックを確認して、無料のデジタル Swag をダウンロードしてください。
Developer Community | Visual Studio 2022 ロードマップ | システム要件 | 互換性 | 再頒布可能コード | リリース履歴 | ライセンス条項 | ブログ | 最新リリースの既知の問題 | Visual Studio のドキュメントの最新情報
ボタンをクリックして、Visual Studio 2022 の最新バージョンをダウンロードします。 Visual Studio 2022 のインストールと更新の手順については、 Visual Studio 2022 の最新リリースへの更新に関する記事をご覧ください。 また、 オフラインでインストールする方法の手順もご覧ください。
他の Visual Studio 2022 製品をダウンロードするには、 Visual Studio のサイトを参照してください。
Visual Studio 2022 バージョン 17.10 リリース
- 2024 年 11 月 12 日 — Visual Studio 2022 バージョン 17.10.9
- 2024 年 10 月 8 日 — Visual Studio 2022 バージョン 17.10.8
- 2024 年 9 月 10 日 — Visual Studio 2022 バージョン 17.10.7
- 2024年8月13日 — Visual Studio 2022 バージョン 17.10.6
- 2024 年 7 月 25 日 — Visual Studio 2022 バージョン 17.10.5
- 2024 年 7 月 9 日 — Visual Studio 2022 バージョン 17.10.4
- 2024 年 6 月 18 日 - Visual Studio 2022 バージョン 17.10.3
- 2024 年 6 月 11 日 - Visual Studio 2022 バージョン 17.10.2
- 2024 年 5 月 29 日 — Visual Studio 2022 バージョン 17.10.1
- 2024 年 5 月 21 日 — Visual Studio 2022 バージョン 17.10.0
Visual Studio 2022 ブログ
Visual Studio 2022 ブログ は、Visual Studio エンジニアリング チームから製品に関する分析情報を提供する公式の情報源です。 Visual Studio 2022 リリースの詳細については、次の投稿を参照してください。
Visual Studio 2022 バージョン 17.10.9
リリース日: 2024 年 11 月 12 日
このリリースの新機能
開発者コミュニティ
- 致命的なエラー C1001: 内部コンパイル エラー
- MSVC 14.40.33807 が std::coroutine で正しくないアセンブリを生成し、ポインターを切り詰める
- MSVC ツールセット v19.38 以降で、/O2 でのコード生成が正しく行われない
- C++ モジュールと LINK: 致命的なエラー LNK1000: IncrBuildImage.Pass2 中の内部エラー
対処済みのセキュリティ アドバイザリ
- CVE-2024-43498.NET NrbfDecoder コンポーネントのリモート コード実行の脆弱性
- CVE-2024-43499.NET NrbfDecoder コンポーネントのサービス拒否の脆弱性
- CVE-2024-49044 Visual Studio の特権の昇格の脆弱性
Visual Studio 2022 バージョン 17.10.8
リリース日: 2024 年 10 月 8 日
このリリースの新機能
- Visual Studio によってインストールされる Windows 11 SDK (10.0.26100.0) を 2024 年 10 月のサービス ビルドで更新しました。
開発者コミュニティ
対処済みのセキュリティ アドバイザリ
- CVE-2024-43483 System.Security.Cryptography.Cose、System.IO.Packaging、System.Runtime.Caching の .NET サービス拒否の脆弱性
- CVE-2024-43484 System.IO.Packaging の .NET サービス拒否の脆弱性
- CVE-2024-43485 System.Text.Json 6.0.x および 8.0 の .NET サービス拒否の脆弱性。
- CVE-2024-43603 Visual Studio Collector Service のサービス拒否の脆弱性
- CVE-2024-43590 Visual Studio C++ 再頒布可能インストーラーの特権の昇格の脆弱性
Visual Studio 2022 バージョン 17.10.7
2024 年 9 月 10 日リリース
このリリースの新機能
- Xamarin Profiler は非推奨となり、Visual Studio から削除されました。
- 特定の UI コンポーネントが VS の他の部分よりも大きく表示されていたバグを修正しました。
- DeployAppRecipe.exe ツールのクラッシュを修正しました。
開発者コミュニティ
- /O2、/fp:fast、/arch:avx で生成されたアセンブリが正しくありません
- ARM64 を対象とする 17.10.1 にアップグレードするときの内部コンパイラ エラー
- 17.11 preview 2.1 では、コンパイラは、std::min の STL のベクトル化されたコードから取得されたコードで、x86 上で、不正な codegen を生成します。
- /O2 /arch:AVX2 を使用した VS 17.10 の不適切なコード生成
- 診断ツールのスケーリングが間違っている
対処済みのセキュリティ アドバイザリ
CVE-2024-35272 SQL Server Native Client OLE DB Provider リモート コード実行の脆弱性
Visual Studio 2022 バージョン 17.10.6
2024年8月13日発売
このリリースでの新機能の概要
- /arch:SSE または /arch:SSE2 コンパイル中にコンパイラが AVX ベクトル比較命令を生成するバグを修正しました。
- 17.10 で nanobind v.1.9.2 をコンパイルするときに報告されたコンパイラ クラッシュを修正しました。
- C++17 以降での保証されたコピー省略に関連する C++ コンパイラの回帰を修正しました。
- テンプレート対テンプレート パラメーター パックの誤ったコンパイルに関する問題を修正しました。
- MSVC コンパイラが qtwebengine の一部のコードをコンパイルできず、代わりに「C2100: 'v8::internal::compiler::turboshaft::WordRepresentation' 型のオペランドを逆参照できません」というエラーが発生する問題を修正しました。
開発者コミュニティ
- vs2022 17.10.0p7: 一部のループ構造における「ARM64|Release」の MSVC コード生成バグ
- SPGO を有効にした x86 ビルドのインライン デストラクタのバグ
- 「拡張命令セットを有効にする」が「未設定」に設定されている場合でも、AVX命令が生成されます。
- nanobind v1.9.2 の内部コンパイラ エラー
- VS 17.10: 誤ったコンパイル エラー C2102 ("&" には左辺値が必要です)
- QtWebEingine コンパイルで内部コンパイラ エラー C2100 が発生する
- バージョン 17.10.3 にアップグレードした後、VB.Net プロジェクトの一部の領域で構造ガイドラインの表示が欠落しています。
対処済みのセキュリティ アドバイザリ
- CVE-2024-38167 .NET ランタイム TlsStream に脆弱性が存在し、情報漏洩につながる可能性があります。
- CVE-2024-38168 .NET には、攻撃者が認証されていない要求を通じて ASP.NET HTTP.sys Web サーバーでサービス拒否をトリガーする可能性のある脆弱性が存在します。 これは Windows OS のみの脆弱性です。
Visual Studio 2022 バージョン 17.10.5
リリース日: 2024 年 7 月 25 日
このリリースでの新機能の概要
- Visual Studio の実行中に GitHub アカウントを使って Visual Studio にサインインするシナリオがサポートされるようになりました。 別のユーザーとしての Visual Studio の実行は、Visual Studio プロセスに関連付けられているユーザー名が、Windows OS にログインしているユーザー名と完全に一致しない場合に発生します。 このような状況で VS を実行しているユーザーの場合、資格情報は Windows セッションに対して保持され、ユーザーは Windows が再起動されるたびに GitHub アカウントを Visual Studio に追加し直す必要があります。
ManagePackageVersionsCentrally
を true に設定すると、機能へのオプトインをユーザーに要求する NuGet Central Package Management の以前の動作に戻ります。- C++ クイック ヒントで Copilot によって生成されたドキュメントによって発生するハングを修正しました。
- 標準ツール バーが親に設定されていると、[C# インタラクティブ] コマンドを [その他のウィンドウ] メニュー コントローラーで使用できます。
- SccProjectName プロパティを設定してソリューションまたはプロジェクトを読み込むと、[このソリューションに関連するソース管理プロバイダーが見つかりません] ダイアログが表示されなくなります。
- Azure Attach to App Service で、内部ロード バランサーでの Azure サービス環境へのアタッチがサポートされます (例:
.appserviceenvironment.net
で終わるサイト)。
開発者コミュニティ
- 17.9.7 (NU1008) でのように NuGet パッケージを処理できない
- VS2022 17.10.1 の Azure DevOps パイプライン (セルフホステッド) でエラーがスローされる
- 'LINK : error LNK2034: COFF シンボル テーブルとのメタデータの不一致' (VS 17.9.1 を使用して、ネイティブ関数を参照する C++/CLI プログラムをビルドしている場合)
- 17.10.0 にアップグレードした後、コードが比較的長い場合に入力が遅くなる
- ネットワーク共有上のプロジェクトで、エラーの波線とナビゲーションが壊れる
- VS を開き直した後、C# インタラクティブ ツール バーのメニューが表示されない
- [ファイル] > [最近使ったプロジェクト] で、存在しないアイテムの削除が示されなくなった
- 17.10.0 Preview 2.0 - このソリューションに関連付けられているソース管理プロバイダーが見つからない
Visual Studio 2022 バージョン 17.10.4
リリース日: 2024 年 7 月 9 日
このリリースでの新機能の概要
- MinGit を GCM 2.5 を含む v2.45.2.1 に更新します。これにより、複製後に Git にエラーが報告され、クローンが失敗したように見えるという以前の GCM バージョンの問題が修正されます。
- 特定の FASTLINK PDB で予想されるエラーを無視する PDB 読み取りコードのバグを修正しました。
- これにより、(キャプチャせずに) 'constexpr' ローカル変数を参照する汎用ラムダに関連するコンパイラ クラッシュが修正され、外側の関数からラムダが返されます。
- インクリメンタル リンク中に ILK ファイル サイズを小さくします。
- DeployAppRecipe.exe ツールのクラッシュを修正しました。
- dotnet 6/7 Alpine コンテナーのデバッグに関する問題を修正しました。
- 現在では、VS に MAUI 8.0.61 (SR6.1) が含まれるようになりました。 https://github.com/dotnet/maui/releases/tag/8.0.61
開発者コミュニティ
- エラー: ファイル (null) を開けません。 エラー コード = 0x0000000D
- ARM64EC 上の OpenMP がクラッシュする
- 内部コンパイラ エラーのバリアント (1510)
- ASan が有効になっている静的デバッグ STL をビルドするときのスタートアップの問題
- 致命的なエラー C1001: 内部コンパイル エラー
- VS 17.10 に更新した後、.ilk ファイルのサイズが大幅に増加し、致命的なエラー LNK1210 が発生する
- ARM64 のビルド中に "内部コンパイラ エラー" が発生する | Visual Studio 2022 17.10.0 にアップグレードした後のリリース
- [COMPILER BUG][BAD CODE GEN] コンパイラが /arch:AVX と -d2SSAOptimizer- を使用して Xbox One をターゲットとする MSVC 17.10.1 に AVX2 命令を挿入し、クラッシュを引き起こす
- VS 2022 17.4 Preview 3 での無効なテンプレートを使用した ICE
- Docker ベースのデバッグに関する新しい問題、以前の問題は修正されませんでした
- SQL Server オブジェクト エクスプローラーからストアド プロシージャをデバッグすると、コンピューターからストアド プロシージャ ファイルを検索する。
- Copilot で、入力した内容を上書きせずに条件付きデバッグを入力することができない
- 17.10.1 に更新した後、デバッガーがソース ファイルを見つけられない
対処済みのセキュリティ アドバイザリ
- CVE-2024-38081 Windows OS 上の Visual Studio インストーラーに脆弱性が存在し、特権のないユーザーが Visual Studio インストールを操作して特権を昇格できる可能性がある。
- CVE-2024-30105 System.Text.Json を使用して信頼されていない入力に対して JsonSerializer.DeserializeAsyncEnumerable メソッドを呼び出すと、サービス拒否が発生する可能性がある脆弱性が .NET に存在する。
- CVE-2024-38095 .NET の System.Formats.Asn1 が X.509 証明書または証明書のコレクションを解析すると、悪意のある証明書によって、すべてのプラットフォームで CPU が過剰に消費され、サービス拒否が発生する可能性がある。
- CVE-2024-35264 ASP.NET Core 8 に脆弱性が存在し、Kestrel HTTP/3 のデータの破損によってリモートでコードが実行される可能性がある。
Visual Studio 2022 バージョン 17.10.3
リリース日: 2024 年 6 月 18 日
このリリースでの新機能の概要
- 標準ツール バーの MenuController から C# インタラクティブ コマンドを実行した後、Visual Studio がクラッシュしなくなりました。
- Razor ファイル内のタグ ヘルパーの内側で @ を使用すると、誤ったコンパイル エラーが発生する可能性があります。 https://github.com/dotnet/razor/issues/10186
開発者コミュニティ
- 17.10.2 へのアップグレード後は、Extensibility.Contracts が見つからず、拡張機能が機能しなくなる
- VS 2022 TypeScript Intellisense が 17.10.1 で動作しない
- デバッグ テキスト ビジュアライザーでのコピーが壊れている
- Tab キーが Visual Studio 17.8.6 の Markdown for Copilot 入力候補の灰色のテキスト候補を確実には受け入れない
- ツールバーに C# インタラクティブ メニューが表示されない | その他の Windows
Visual Studio 2022 バージョン 17.10.2
リリース日: 2024 年 6 月 11 日
このリリースでの新機能の概要
- ファイルの TypeScript にエラーがない場合に、Razor ファイルに TypeScript エラーが表示される可能性がある問題を修正しました。
- Windows の Germanium ビルドにアップグレードした後、WSL には手動アップグレードが必要です。 これにより、CMake プロジェクトを開くときに Visual Studio がハングする可能性があります。
- 現在では、VS に MAUI 8.0.40 (SR5) が含まれるようになりました
- 最近リリースされた Windows SDK バージョン 10.0.26100 のオプションのインストーラー コンポーネントを追加します。
- .NET SDK 7 を使用すると、Razor プロジェクトと組み合わせた場合に問題が発生しました。 https://github.com/dotnet/razor/issues/10411. 注: .NET SDK 7 シリーズはサポート対象外です。 以前にこれが発生したことがあるお客様には、サポート対象である .NET SDK への移行をお勧めします。
開発者コミュニティ
- TS1109 (TS) Razor ファイルで式が予期されるエラー
- ツール内の cmdnameRunIntellisenseCheck の残り
- Visual Studio コミュニティを 17.10.0 に更新した後、復元を nuget できません。 同じキーの項目がすでに追加されています。
- Visual Studio 2022 で Sapphire Rapids CPU の x86 コードをデバッグできない
対処済みのセキュリティ アドバイザリ
- CVE-2024-30052 適切な拡張子を持つ悪意のあるファイルを含むダンプ ファイルをデバッグするときのリモート コード実行
- CVE-2024-29060 影響を受ける Visual Studio のインストールが実行されている特権の昇格
- CVE-2024-29187 WiX ベースのインストーラーは SYSTEM として実行するとバイナリの乗っ取りに対して脆弱
Visual Studio 2022 バージョン 17.10.1
リリース日: 2024 年 5 月 29 日
このリリースでの新機能の概要
開発者コミュニティ
- アップグレード後の GitHub Copilot 拡張機能が古いことにより、Visual Studio の起動がループ状態に入る
- SDK "Microsoft.VCLibs.Desktop, Version=14.0" が見つかりませんでした
- VS 17.10.0 プレビュー 3.0 と MFC ユーザー dll + CLR -> リンカー エラー
- ツールチェーン 14.39.33523 を使用する際、vinsertps ではなく、想定外の vblendps が使用される
- 最新の x64 向け clang をビルドする際に cl.exe がクラッシュ
- VS2022 17.10.0 プレビュー 4 テスト コントローラーまたはエージェント エラー: パディングは無効なので、削除できません
Visual Studio 2022 バージョン 17.10.0
リリース日: 2024 年 5 月 21 日
このリリースでの新機能の概要
Visual Studio の GitHub Copilot
GitHub Copilot: AI を利用したコード補完が Visual Studio IDE にシームレスに組み込まれているので、日々のタスクを強化し、最新の AI 主導のコーディング エクスペリエンスを実現できます。 Copilot は、以下を提供して、効率アップを実現できるように設計されています。
- パーソナライズされたコードの提案
- Git コミット メッセージの作成
- コード関連クエリの回答
Visual Studio 17.10 では、新しい統一された Copilot エクスペリエンスが導入されました。 これは、Copilot と Copilot Chat の機能を 1 つの便利なパッケージにまとめたものです。2 つの拡張機能を個別にインストールする必要がなくなりました。 より緊密に統合された AI エクスペリエンスをご活用ください。 最新の AI エクスペリエンスを利用するために、 GitHub にサインインするか、無料体験を開始する して、GitHub Copilot のサブスクリプションを今すぐアクティブにしましょう。
注: Copilot は Visual Studio インターフェイスの右上隅に配置されるようになりました。
生成された pull request の説明を使用してコード レビューを改善する
生成された Git コミット メッセージ機能と同様に、GitHub Copilot によって作成された pull request の説明の最初のドラフトを取得できるようになりました。 同僚にそのレビューに関する重要なコンテキストを提供するうえでの支援を受け、pull request に適切な変更を含めていることを再確認できます。
アクティブな GitHub Copilot サブスクリプションと GitHub Copilot Chat 拡張機能がインストールされていることを確認する必要があります。 それを試すには、[pull request を作成する] ウィンドウ内の [AI で生成された pull request の説明を追加する] というきらめくペンのアイコンをクリックします。 この機能に関するフィードバックは、 こちらで共有してください。
Microsoft では、お客様のフィードバックを反映し、生成される Git コミット機能の出力を短くしています。 Developer Community のチケットでこの変更に関するフィードバックを共有してください。
GitHub Copilot を使用してコミット履歴を解明する
Git 履歴は、ざっと調べるには難しく見えるかもしれませんが、多くの場合、コード ベースについて学習したり、バグの発生元を特定しやすくしたりするための最適な方法です。 各コミットの内容を理解しやすくするために、[コミットの詳細] ウィンドウに GitHub Copilot を活用した説明機能が追加されました。
アクティブな GitHub Copilot サブスクリプションと GitHub Copilot Chat 拡張機能がインストールされている必要があります。 いずれかのコミットをダブルクリックして、[Git リポジトリ] ウィンドウに [コミットの詳細] ウィンドウを開きます。 次に、[コミットの説明] というきらめくペンのアイコンをクリックして、変更の概要をコードと並べて取得します。 この機能は引き続き改善していく予定であるため、フィードバックを こちらで共有してください。
.NET Aspire でクラウドネイティブ アプリを構築する
.NET Aspire は、監視可能で実稼働可能な分散型アプリケーションの構築を目的とした、熟慮されたクラウド対応スタックです。 .NET Aspire は、クラウドネイティブの特定の懸念事項に対処する NuGet パッケージのコレクションによって提供されます。 分散型のクラウドネイティブ アプリケーションの構築に、PostgreSQL や Redis などのコンテナー化されたリソースを使用する場合でも、Storage や Service Bus などの Azure コンポーネントを使用する場合でも、.NET Aspire は開発エクスペリエンスを簡素化し、次のような機能により分散型アプリ全体の可視性を高めます。
- ソリューションの構成を必要としない、複数プロジェクトの起動およびデバッグ
- 一連の 熟慮された拡張機能と既定値を使用した HTTP 回復性、正常性チェック、OpenTelemetry の組み込みサポート
- 新しい .NET Aspire ダッシュボード の起動エクスペリエンスを使用してコンテナー化されたリソース および .NET プロジェクトのログ、メトリック、分散トレースの便利なブラウザー内ビュー
- Azure Developer CLI (AZD) の上に構築された新しいデプロイ手法。これにより、ほとんどの場合に独自のインフラストラクチャ コードを記述することなく、複数ノード デプロイ機能を利用できます
デバッグと診断
Copilot によって生成されたブレークポイント条件
AI によって生成された条件付きブレークポイントとトレースポイントに対する提案を使用して、デバッグ速度を向上します。 Copilot はコードを分析して、ブレークポイントに合わせて調整されたスマートな式を提案し、デバッグをよりスムーズにします。
条件付きブレークポイントまたはトレースポイントを設定し、設定ウィンドウの条件領域にカーソルを合わせると、Copilot はコードに基づいて AI で生成された式のアイデアをすばやく提示します。 ニーズに最適な条件を選択し、ブレークポイントまたはトレースポイントを簡単に配置します。
新しい UpDown および ObservableCounter インストルメントを使用した .NET カウンター プロファイラーの視覚化
Visual Studio の .NET カウンター プロファイラーに、2 つの革新的なメトリックのサポートが導入されました。UpDown を使うと、インクリメントとデクリメントの両方の変更で、値をリアルタイムに追跡できます。ObservableCounter は、集計された合計を自律的に管理し、正確な制御のためのカスタマイズ可能なコールバック デリゲートを提供します。 示されているスクリーンショットでは、"total-hats" が UpDown カウンターを示すのに対して、"orders-pending" は ObservableCounter を示しています。
さらに、タグに基づいてデータ ポイントを簡単にフィルター処理できるフィルター ポップアップ機能が実装されました。 これにより、概要ビューとスイムレーン ビューの両方が、適用された組み合わせに従って動的に調整されます。
この機能強化により、柔軟性が大幅に向上するため、プロジェクトでの動的な値の監視が効率化されます。 たとえば、Web アプリケーションの開発では、UpDown カウンターがページ ビューなどのユーザー操作を監視できるのに対して、ObservableCounter は、アクティブなセッションの合計を効率的に管理することによってサーバー リソースを最適化します。
マネージド メモリ ウィンドウ内の GC 分析情報
マネージド メモリ ウィンドウの [分析情報] タブで、GC 分析情報がサポートされるようになりました。 この機能は、誘発されたガベージ コレクション (GC) のインスタンスを明らかにして、アプリケーションのパフォーマンスをより深く理解できるようにします。 これらのインスタンスは、ガベージ コレクターでメモリ割り当てを自律的に管理できるようにするのではなく、手動介入を伴うことでプロセスの効率が低下する可能性があるため、一般には好ましくないと見なされています。 さらに、GC 分析情報により、これらの発生を時間の見積もりで分析する機能が提供されるため、誘発された GC のアプリケーションの実行タイムラインへの影響をより適切に把握できます。
式からの条件付きブレークポイントとトレースポイントの作成
このアップグレードでは、"条件付きブレークポイントの挿入" と "トレースポイントの挿入" という新しいメニュー オプションによりデバッグが簡素化されました。自動変数、ローカル、ウォッチ ウィンドウ、データヒントのプロパティまたはフィールドの名前と値を使用して、ブレークポイントを簡単に作成できるようになりました。 これにより、特に複雑な式の場合に、ワークフローのデバッグが容易になります。
メモリ ツールを使用したメモリ使用量の調査の簡略化
新しい "ルートへのホット パス" 機能は、オブジェクトの合計サイズを計算するためのルートへの最も可能性の高いパスを見つけることで、メモリ分析を改善します。 これは、最短パスの優先化や、実際のルートへの循環パスの回避などのショートカットを使用して、ヒープ グラフをツリーに変換します。 この機能は、メモリ調査の出発点として最適であり、メモリ使用量ツールの参照グラフでは "ルートへのホット パス" と呼ばれています。 下のツリーに赤いアイコンが付いたホット パスが表示されているのが分かります。
[プロセスにアタッチ] ダイアログの改良
Visual Studio の [プロセスにアタッチ] ダイアログが大幅に改善され、機能と使いやすさが向上しました。 これらの更新には、Visual Studio テーマとのシームレスな統合、接続情報のヒントを含むより省スペースなビュー、アクセスを高速化するための "ローカル" 接続の既定値としての設定などがあります。 また、ツリー ビューとリスト ビューの簡単な切り替え、折りたたみ可能なセクションによるプロセスのより適切な整理、簡略化されたコンボボックスを使用したコードの種類の選択が可能になりました。 さらに、"ウィンドウの選択/追跡" 機能が使いやすくなり、双方向の追跡が可能になったことで、プロセスを選択するとウィンドウが強調表示され、ウィンドウをクリックするとプロセスが選択されるようになりました。
EXE 用のターゲット インストルメンテーション
パフォーマンス プロファイラーのインストルメンテーション ツールを使用して、任意の実行可能ファイル (exe) のターゲット プロファイルが可能になりました。 exe ファイルを選択すると、スタートアップ プロジェクトのプロファイルと同様に、ターゲット インストルメンテーション ダイアログが表示されます。 この機能強化により、特定の実行可能ファイルのパフォーマンス メトリックを重点的に分析できます。 さらに、[項目の追加] ボタンを使用して追加のダイナミック リンク ライブラリ (DLL) を含めることで、プロファイルの範囲を拡大できるため、アプリケーションのパフォーマンスに関する調査を強化できます。
一部のプロジェクトでの Blazor デバッグ パフォーマンス
ASP.NET Core Blazor プロジェクトのビルド時に、場合によってはデバッグを開始するときに大きな遅延が発生する可能性があります。 このリリースでは、これらの遅延を防ぐための変更が行われました。 17.10 以上にアップグレードできない場合は、 バージョン 17.9 の Developer Community サイトに回避策が記載されています。
ソリューションの読み込みを取り消す
すべてのプロジェクトが読み込まれる前にソリューションの読み込みプロセスを停止したい場合があります。 操作を取り消して、空の環境 IDE に戻ることができるようになりました。
Microsoft Teams 開発ツール (Teams ツールキット)
Teams ツールキットに、Teams アプリを管理用にすべてのファイルの整理に使用される新しいプロジェクト ファイル (.ttkproj) が含まれるようになりました。 新しい Microsoft Teams アプリ プロジェクトを作成すると、2 つのプロジェクトを含むソリューションが作成されます。Teams ツールキット機能のアプリ マニフェストとその他のファイルを含む TeamsApp プロジェクトとともに、会話ボット、タブなどのアプリ機能を実装するためのサンプル コードを含む別の C# プロジェクトが表示されます。
また、次の変更も確認できます。
- Teams ツールキット プロジェクト メニューが TeamsApp プロジェクトで検出できるようになりました
- プレビュー機能 > のサポートにより、複数プロジェクト起動プロファイルを有効にして、Teams、Outlook、または Teams アプリのサポートされているその他のプラットフォームでデバッグを簡単に開始できます
新しい WinUI ワークロードとテンプレートの機能強化
WinUI の使用方法がかつてない程に簡単になりました
開発者がすぐに使用を開始して、.NET を使用してスタイリッシュでモダンで高速な WinUI アプリの作成を開始できる新しい Windows アプリケーション開発ワークロードが利用できるようになりました。 ワンクリックで、インストールの準備が整います。
C++ で WinUI アプリを作成したい場合は、このワークロードの下のオプションのコンポーネントを選択できます。
改善されたテンプレート選択と新しい単体テスト テンプレートを使用して WinUI をより迅速に作成する
WinUI テンプレートは、新しいアイコンを付与され、[新しいプロジェクト] のテンプレート選択リスト内での優先度が上がったため、よりアクセスしやすくなりました。 C# と C++ で最も一般的な空のアプリ テンプレートは両方とも一番上付近に表示されるため、検索やスクロールを行うことなくコーディングをすぐに開始することができます。 また、アプリをより簡単にテストできるようにするために、コミュニティでリクエストされていた WinUI 用の新しい単体テスト テンプレートも追加されました。
機能拡張
Visual Studio 2022 バージョン 17.10 インストーラーを使用して、インストール済みのインスタンス全体の Marketplace 拡張機能を *.vsconfig ファイルにエクスポートできるようになりました。 この新しいエクスポート機能は、17.9 で導入された *.vsconfig ファイル内で指定された拡張機能を読み込む Visual Studio インストーラーの機能を補完するものです。 このエクスペリエンスに関するフィードバックや提案がある場合は、 Developer Communityでお知らせください。
*.vsconfig ファイルの使用の詳細については、オンライン ドキュメントを参照してください。
Razor ファイル内の C# コードのインレイ ヒント
Razor (.razor、.cshtml) ファイルで C# コードのインレイ ヒントを有効にできるようになりました。 インレイ ヒントでは、リテラルのパラメーター名とオブジェクトのインスタンス化がコードと共にインラインで表示されます。 インレイ ヒントではまた、推論された型 (つまり var
) とラムダ パラメーター型を持つ変数の型ヒントも表示できます。 この機能は、 [ツール] > [オプション] > [テキスト エディター] > [C#] > [詳細設定]を使用して有効にできます。
Code Search とナビゲーション
オールインワン検索では、UI を簡略化し、読みやすさを向上させるために、いくつかの変更を行いました。 これらの変更には、クエリでの一致の強調表示の削除、各結果の種類のカウントを含むステータス バーの削除、ステータス メッセージのフィルターの行への移動が含まれます。
ご意見ご感想を 開発者コミュニティにお寄せください。
新しいテキスト書式設定オプションを使用して Visual Studio の読みやすさを向上させる
Visual Studio 2019 での斜体フォントのサポートに対処し、斜体、取り消し線、下線を IDE 全体でのテキストの書式設定の追加オプションとして導入しました。
新しいオプションを使用してエクスペリエンスをカスタマイズするには、[ツール] > [オプション] > [環境] にある [フォントと色] ページに移動します。そこに、前に説明した各オプションのチェックボックスがあります。
画像のホバーのプレビュー
どの Web、デスクトップ、またはモバイル開発者も、たいていは画像を操作します。 これらには、C#、HTML、XAML、CSS、C++、VB、TypeScript、場合によってはコードのコメントから参照します。 一部の画像はローカルであり、一部はオンラインまたはネットワーク共有に存在し、その他は Base64 でエンコードされた文字列としてのみ存在します。 コードではそれらをさまざまな方法で、ただし、常にその画像がどのように見えるかが示されない文字列値として参照します。 今までは、の話です。
コード エディターで画像の参照の上にマウス ポインターを置いたときに表示されるエディターのツールヒントが追加されました。 ツールヒントには画像が元のサイズで表示されますが、幅と高さは最大 500 ピクセルに制限されます。 プレビュー画像の下には、サイズ (ピクセル単位) とファイル サイズ (バイト単位) が表示されます。 この機能は、Visual Studio コミュニティとの 密接なコラボレーショ で開発されました。 今後ともよろしくお願いいたします。
Windows フォーム アウトオブプロセス デザイナー
Windows フォーム アウトオブプロセス デザイナーでのパフォーマンス向上
主要パートナーとの実りの多いコラボレーションを通して、WinForms サーバー プロセス TypeResolutionService の大幅な機能強化を発表できることを嬉しく思います。 これらの機能強化により、一般的な基幹業務アプリケーションで 30% から印象的な 50% までの、デザイン時の顕著なパフォーマンス向上が実現されました。 特に、これらの機能強化は、プロジェクトのリビルドやプロジェクト参照での調整などの、サーバー プロセスの再起動とデザイナーの再読み込みをトリガーするシナリオ時に際立って輝きます。 これらのパフォーマンス向上の中心には、私たちのチームによって実装された新しいメカニズムがあり、デザイナーの読み込みにとって非常に重要なアセンブリが優先されます。 WinForms デザイナーのパフォーマンスを引き続き向上させることができるように、更新されたデザイナーを探索し、 VS フィードバック チャネル で貴重なフィードバックを共有することをお勧めします。
SQL
SSDT は Visual Studio for ARM64 でサポートされています
Visual Studio for ARM64 でデータベース プロジェクトを作成できるようになりました。 このリリースで使用できる SSDT のいくつかの主要な機能は次のとおりです。
- データベース プロジェクト (開く、ビルド、発行)
- スキーマ比較
- データ比較
- クエリ エディター
- テーブル デザイナー (Table Designer)
- データベースのプロパティ エディター
- オブジェクト リファクタリング
このリリースのいくつかの制限は次のとおりです。
- デバッガー
- IntelliSense
- localdb を使用したローカル コンピューターでのデータベース開発
SSDT での MCD (複数列分散) のサポート
ユーザーは、エクスポート時に DW 互換性レベルを設定できるようになりました。
- [データベース設定] の [操作] タブの下に、新しいデータベース オプションを追加しました。 "DW 互換性レベル" という名前です。
- 使用できる値は、自動、10、20、30、40、50、9000 で、ターゲットが Microsoft Azure SQL Data Warehouse の場合のみ有効です
Visual Studio 更新プログラムに推奨コンポーネントが含まれるようになりました
インストール時にユーザーが選択するワークロードには、必須コンポーネントと推奨コンポーネントが付属します。 必須コンポーネントはワークロードの機能に不可欠である一方、推奨コンポーネントは、任意選択ではありますが、最大限のポテンシャルを引き出す上で重要な役割を果たします。
Visual Studio 2017 のリリース以来、継続的な機能拡張は、マイナー バージョンの更新を通して IDE に統合されてきました。 これらの改善は、生産性を向上させ開発機能を拡張し、既存のコンポーネントと新しいコンポーネントの両方にシームレスに統合されます。 しかし、これらは少しずつ更新されるため、多くのユーザーはこれらの新しい推奨コンポーネントを認識していない可能性があります。 これに対処するために、17.10 P1 以降、Visual Studio は更新時にこれらの新しい推奨コンポーネントを自動的にインストールするようになります。 注意点として、更新中にインストールされる推奨コンポーネントは、ユーザーによって選択されたワークロード用のものだけです。
同様に、この機能は更新中に新しいワークロードがインストールされないことを保証します。 さらに、ユーザーがインストールしないことを選択した既存の推奨コンポーネントはそのままとなります。
この機能を使用したくない場合は、インストーラーの [設定の更新] ダイアログで簡単にその選択を解除できます。 推奨コンポーネントが不要になった場合は、インストールを変更することでそれらを削除することもできます。
推奨されるコンポーネントを含む、Visual Studio のすべてのコンポーネントの一覧については、 Visual Studio コンポーネント IDに関するページを参照してください
Android エミュレーターのパフォーマンスへの影響の検出の改善
Visual Studio は、Android エミュレーターの起動が試みられたときにハードウェア アクセラレーションを確認し、潜在的なパフォーマンスへの影響を説明する便利なダイアログを表示します。 お使いのマシンで、Windows ハイパーバイザー プラットフォーム (WHPX) によるハードウェア アクセラレーションが構成されていないか、またはサポートされていない場合、Android Emulator ハイパーバイザー ドライバー (AEHD) が必要になりました。 Intel Hardware Accelerated Execution Manager (HAXM) は、Android エミュレーター API レベル 33 以降では非推奨となり、Intel プロセッサ上の AEHD に置き換えられました。
詳細については、「Android エミュレーターでハードウェア アクセラレーションを有効にする方法 (Hyper-V & AEHD)」を参照してください
作業項目の pull request へのリンク
Visual Studio で pull request を作成する際の Azure DevOps ユーザーからの 要望の第 1 位 は、作業項目のリンクを有効にすることでした。 [関連作業項目] セクションを使用して、pull request の説明で参照したすべての作業項目を表示できると "同時に" Azure DevOps で作業項目を pull request にリンクできるようになりました。
C++
- CMake ターゲット ビューで CMake ターゲットをピン留めするためのサポートを追加しました。 [ピン留めされたターゲット] の最上位フォルダーが追加されました。 右クリックしてコンテキスト メニューで
Pin
オプションを選択することで、任意のターゲットをピン留めできます。
Unpin
を選択して、[ピン留めされたターゲット] フォルダー内の任意のターゲットのピン留めを解除することもできます。
MSVC ツールセットのマイナー バージョン番号が
19.39
(VS 2022 v17.9) から19.40
(VS 2022 v17.10) にインクリメントされます。 プレビュー 1 リリースでは、MSVC ツールセットのバージョンは 19.40.33521.0 になります。 詳細については、ブログ記事「VS 2022 v17.10 の MSVC ツールセットのマイナー バージョン番号 14.40」を参照してください。Build Insights を使用して、テンプレートのインスタンス化情報を表示できるようになりました。 テンプレートのインスタンス化コレクションは、[ツール] > [オプション] > [Build Insights] でアクティブにする必要があります。
UE コード スタイルに従ってインデントされる Unreal Engine マクロを追加しました。
Unreal Engine Test Adapter に必要な Unreal Engine プラグインをバックグラウンドで実行し続けることで、起動コストを大幅に削減できるようになりました。 これは、[ツール] > [オプション] > [Unreal Engine] を使用してアクティブにできるオプトイン機能です。
C++ メモリ レイアウトの視覚化
Visual Studio には C++ メモリ レイアウトの視覚化機能が追加されました。 この機能によって、エディター内でクラス、構造体、共用体のメモリ レイアウトが表示されるため、コンパイルが不要になります。 型にカーソルを合わせると、クイック ヒントに ‘メモリ レイアウト’ リンクが表示されます。 このリンクをクリックすると、選択された型のメモリ レイアウトを示すウィンドウが開き、個々のデータ型のサイズとオフセットの詳細が表示されます。
Win32 アプリの分離
ユーザーのプライバシーとアプリケーションの整合性を強化する画期的なセキュリティ機能。 AppContainer の基盤に基づいて構築された Win32 アプリ分離は、アプリケーションがサンドボックス実行されることを保証し、起こり得る侵害の影響を限定的にするセキュリティで保護された環境を提供します。
開発者は、Visual Studio 内でアプリケーションを簡単に分離し、プロセスを合理化し、プロジェクトの全体的なセキュリティ体制を改善できるようになりました。 開発者コミュニティと直接やり取りし、新機能と機能強化に関するフィードバックを提供できます。
既知の問題
- Delinea の権限管理ソフトウェアをインストールしているユーザーは、Visual Studio の起動時に問題が発生する可能性があります。 Delinea はこの問題を認識しており、対処しています。 この問題を解決する方法については、 https://delinea.com/support からお問い合わせください。
- ソース管理ダイアログ - "このソリューションに関連付けられているソース管理プロバイダーが見つかりませんでした" というダイアログが表示されるのを防ぐ回避策については、 こちらのチケット を参照してください。
- UWP を対象とする C++ ユーザーは、
Could not find SDK "Microsoft.VCLibs.Desktop, Version=14.0"
フォルダーがないためにビルド エラーC:\Program Files (x86)\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop
に遭遇する可能性があります。 詳細と回避策については、 こちらのチケット を参照してください。 この問題は優先的に処理されている最中です。 (2024 年 5 月 29 日更新: これは 17.10.1 リリース時点で修正されています)。 - マネージド MFC DLL をビルドしている C++ ユーザーはビルド エラー
error LNK2001: unresolved external symbol "public: __cdecl PostDllMain::PostDllMain(void)"
に遭遇する可能性があります。 詳細と回避策については、 こちらのチケット を参照してください。 この問題は優先的に処理されている最中です。 (2024 年 5 月 29 日更新: これは 17.10.1 リリース時点で修正されています)。 - C# コンパイラの最適化の結果、null である 10 進値と 0.00m である 10 進値の比較結果が等しいと見なされます。 さらなる 詳細については .NET コンパイラ リポジトリで確認できます。
- 根底にある Windows コンポーネントに対して行われた最近の更新は、[診断ツール] ウィンドウに対する破壊的変更の原因となり、これによってプロファイラー ツールにも影響が出ています。 これが影響するのはすべての Visual Studio 2022 バージョンです。 追加の 詳細と最新の更新プログラムは Developer Community サイトで確認できます。
Note
この更新プログラムには、 サード パーティの通知 またはその付随するライセンスに規定されているとおり、別途ライセンスされている新しい Microsoft またはサード パーティ製ソフトウェアが含まれる場合があります。
フィードバックと提案
皆様のご意見をお待ちしております。 問題の報告または機能の提案 は、インストーラーまたは Visual Studio IDE の右上隅にある [フィードバックの送信] アイコンを使用するか、 [ヘルプ] > [フィードバックの送信] から行うことができます。 Visual Studio Developer Community を使用して問題を追跡でき、コメントを追加したり、解決策を見つけたりできます。 ライブ チャット サポートを介して、無料のインストールのヘルプを取得することもできます。
ブログ
開発者ツールのブログで提供されている洞察や推奨事項を活用すると、すべての新しいリリースに関する最新情報を入手し続けることができ、さまざまな機能について掘り下げた記事を参照することもできます。