Visual Studio 2026 年 4 月の更新プログラムが利用可能になります。 このリリースは、AI の深いプラットフォーム統合、より強力な基礎、パフォーマンスの向上を備えたVisual Studioの新時代の始まりを示しています。
Visual Studio 2026 Insiders をダウンロードして、これらの新機能と機能強化をお楽しみください。
バージョン 11716.218
リリース日: 2026 年 4 月 21 日
| 主なバグの修正 | コミュニティから |
|---|---|
| F# のコードクォートにおいて空の文字列が一致すると FS0452 エラーが発生します。 | フィードバックチケット |
| GitHub Copilot for Azure 拡張機能の Azure Resource Graph クエリ ツールが失敗する | フィードバック チケット |
Features
2026 年 4 月 14 日リリース。
IDE
システムのダーク/ライト テーマ 📣
システムがライトモードとダークモードの間を移動したときにテーマ Visual Studioを自動的に切り替え、IDE を環境と同期させます
日中は明るくコントラストの高いテーマを、夜は暗いテーマを選ぶこともできます。 Visual Studioシステム設定が変更されたときに、選択した明るいテーマと暗いテーマを自動的に切り替え、IDE を環境と同期させるようになりました。
使用方法
- 環境→ビジュアル エクスペリエンス→ツール → オプションを開く
- [色テーマ] を [システム設定を使用] に設定する
- システム ライト テーマとシステム ダーク テーマを選択する
Visual Studio Windowsテーマが変更されると、対応するテーマが自動的に適用されます。
![]()
📣 フィードバックを共有し、会話を続けるには、機能チケットを参照してください。
GitHub Copilot
エージェント スキルの表示と管理
チャット ウィンドウからすべてのCopilot エージェント スキルを参照、編集、検索します
すべてのエージェント スキルを 1 か所で表示できるようになりました。 チャット ウィンドウの右下隅にあるツール アイコンをクリックすると、ワークスペースとユーザー プロファイルから検出されたすべてのスキルを一覧表示する専用のスキル パネルを開き、使用可能な機能を簡単に一目で確認できます。
パネルから、Visual Studioを離れることなく、スキルを直接管理できます。
- スキルを編集 する - 任意のスキルの 3 点メニュー (⋯) をクリックして、VS で直接開いて編集します。
- ファイルの場所を開く - 同じメニューを使用して、ディスク上のスキル ファイルに直接ジャンプします。
- スキルを検索 する - 上部の検索バーを使用して、名前またはキーワードで特定のスキルをすばやく見つけます。
![]()
これは、前に導入したエージェント スキル サポートに基づいており、スキルを参照して維持するためのよりわかりやすい方法を提供します。 ぜひお試しいただき、フィードバックをお寄せください。
Copilotの変更に関する複数ファイル概要差分
複数のファイルにわたるすべてのCopilotの変更を1つのサマリビュー内で確認し、承諾および元に戻しの詳細コントロールを使用します。
Copilotが複数のファイルを編集する場合は、それぞれを個別に確認する必要がなくなります。 新しい複数ファイルの概要の差分ビューには、すべての変更が 1 か所に表示されます。
Copilot が編集を完了したら、Copilot のチャットワーキングセットのOpen Changes Summary ボタンをクリックします。 すべての変更されたファイルとその相違を一緒に含む 1 つのタブが表示されます。
![]()
さまざまなレベルで変更を受け入れるか元に戻すことができます。
- すべてのファイルに対して同時
- ファイルごとに
- 各個別の差分チャンク
また、ファイルを個別に開いて、その完全なコンテキストを確認することもできます。
![]()
左上隅のコントロールを使用して、次の操作を行います。
- 概要を簡単にするために、すべてのファイル の内容を折りたたみ、ファイル ヘッダーのみを表示する
- 次のボタンと前のボタンを使用して差分チャンク間を移動し、変更をすばやく確認する
このビューは、Copilotがコードベース全体で行った変更を理解しやすくし、保持したい編集を正確に制御できるようにします。
コンテキスト ウィンドウ インジケーター
Copilotが使用しているコンテキストの量を確認し、ワンクリックで要約して最適化します
Copilotとチャットすると、会話履歴、添付ファイル、その他のコンテキストが追跡され、関連する応答が得られます。 これは コンテキスト ウィンドウと呼ばれ、制限があります。 いっぱいになると、Copilotは会話の以前の部分を追跡できなくなる可能性があります。
これで、新しいコンテキスト ウィンドウ インジケーターで使用したコンテキスト ウィンドウの量を正確に確認できるようになりました。
Copilot Chat プロンプト ボックスの右上隅にあるリング アイコンを探します。 このミニドーナツグラフは、会話の進行に応じて満ちていき、どれだけのコンテキストを消費したかが一目でわかります。
インジケーターをクリックすると、次の情報が表示されます。
- 使用されたコンテキストの正確な割合
- コンテキストに貢献している内容の詳細な内訳
- 会話 ボタンを要約して会話を最適化し、スペースを解放する
![]()
コンテキストが不足している場合は、[ 集計 ] をクリックして会話の以前の部分を圧縮します。 これにより、重要なコンテキストを失ったり、新しい会話を開始したりすることなく、チャットを続けることができます。
![]()
計画モードでビルドする前に計画する
コードを変更する前に、実装計画を作成して反復処理します。
コードを書き始める前に、アプローチについてじっくり考えたい場合があります。 新しい Planning チャット モードを使用すると、コードベースを変更することなく、実装計画でCopilotと共同作業を行うことができます。
どのように機能するのか
![]()
Planning モードを選択すると、Copilotは 2 段階のプロセスに従います。
- Explore and clarify - Copilotは読み取り専用ツールを使用してコードベースを理解し、明確な質問をします。 簡単なタスクの場合は、すぐに計画を下書きします。
- Draft and refine - Copilotは、一緒にレビュー、ディスカッション、調整できる詳細な実装計画を作成します。
![]()
準備ができたら、[ プランの実装 ] をクリックしてエージェント モードに渡して実行します。
![]()
プランはマークダウンとして保存されます
Copilotは、すべてのプランをマークダウン ファイルとしてリポジトリの
.copilot/plans/plan-{title}.mdに保存します。 このファイルは、信頼の単一のソースです。 エディターで直接編集したり、チャットで絞り込んだりすることができます。 Copilotは変更を検出し、プランの同期を維持します。計画モードを使用する場合
- 大きな機能 - コードを記述する前に、複雑な作業を明確な手順に分割します。
- Unfamiliar codebases - 変更を提案する前に、Copilotがコードベースを調査し、説明します。
- チーム コラボレーション - 実装前にレビュー用のマークダウン ファイルとしてプランを共有する
Git ツール
複数ファイルの概要の相違 📣
統合形式の差分でファイル変更を表示し、迅速に理解できます。
複数ファイルの概要の差分では、複数のファイルから変更されたすべての行が 1 つの統合ビューに表示されるため、ファイル間を移動することなく、コミットまたはプル要求のスコープをすばやく把握できます。
![]()
[変更の概要を 開く ] ボタンは、いくつかの場所に表示されます。
- Git の変更
- Git → View Branch History のコミットの詳細
- [Git リポジトリ] ウィンドウ→表示で要求をプルする
pull requests リストは現在、プレビュー機能 Git リポジトリの pull requests を表示 を使用して Visual Studio Insiders でのみ利用できます。
![]()
📣 フィードバックを共有し、会話を続けるには、機能チケットを参照してください。
IDEから直接Copilot Chatにコミットコンテキストを付けます。
コミットをレビューし、Copilotを使って内容を理解したり、問題を見つけたり、そのコミットを基に新しい編集を行ったりすることに興味がありますか? コミット ID を検索してチャットに貼り付ける代わりに、コミットを右クリックし、Copilot Chatのコンテキストとして直接追加できるようになりました。
このコマンドは、次の画面で確認できます。
- Git 履歴 (Git > ブランチ履歴の表示)
- ファイル履歴 (ソリューション エクスプローラーでファイルを右クリックし、Git > 履歴の表示)
- 注釈 (ブレーム) (エディターで右クリックし、 Git > 注釈 (ブレーム))
複数のコミットを選択して、一度に複数のコミットをチャットにアタッチすることもできます。
![]()
Copilotはコミットをコンテキストとして受け取るので、この変更を説明してください、これが何か問題を引き起こすか確認してください、またはこの他のファイルにも同様の変更を書いてください。
コミット コンテキスト付き
コミットメッセージの指示が移動されました
コミットメッセージのカスタム命令は、Visual Studioの設定の代わりにCopilot命令ファイルを使用するようになりました。
Commit message カスタム命令GitHub → Copilot → Source Control Integration 設定の下でテキスト入力を使用してCopilot生成されたコミット メッセージを調整している場合、その設定は適用されなくなります。 今後、コミット メッセージ命令は、Copilotカスタム命令ファイルを使用して管理されます。
これにより、リポジトリ全体で他のCopilotカスタム命令がどのように機能するかに沿ったコミット メッセージ命令が表示され、すべてを 1 か所に保持できます。
カスタム手順を設定する
コミット メッセージの指示をリポジトリのCopilot命令ファイルに追加します。 完全なセットアップの詳細については、 リポジトリの追加手順を参照してください。
コミット メッセージ ルールを含む
![]()
Copilot Chatからコード レビューを開始し、Visual Studio レビュー エクスペリエンスで結果を確認します
Copilot Chatの Git エージェントを使用してコードを確認できるようになりました。 Git エージェントに切り替えて、変更を確認するように依頼します。
![]()
エージェントは、GitHub Copilot コード レビューを使用してコミットされていない変更を分析し、エディターと Git Changes ビューにインライン コメントを表示します。 その後、チャットで会話を続けて、結果について話し合ったり、説明を求めたり、提案された編集を行ったりすることができます。
![]()
コード レビュー エクスペリエンスの詳細については、「review local changes with Copilot Chat」を参照してください。
C++
MSVC ビルド ツール v14.51
C++23 のサポート、パフォーマンス、および多くのバグ修正が改善されました。
Microsoft C++ (MSVC) ビルド ツール バージョン 14.51 が利用可能になり、既定で C++ デスクトップおよびゲーム ワークロードと共にインストールされます。 インストールされているかどうかを確認するには、これらのコンポーネントの一方または両方がインストーラーでチェックされていることを確認します。
- x64/x86 用 MSVC ビルド ツール (最新)
- ARM64/ARM64EC 用 MSVC ビルド ツール (最新)
v14.51 バージョン番号でラベル付けされたコンポーネントのいずれかを選択して、インストールをこのバージョンにピン留めすることもできます。
![]()
cl.exe および link.exe によって出力されるバージョン番号は、少なくとも 14.51.36231 になります。
v14.51 の安定版リリースでは、
Microsoft C++ ビルド ツールの新しいリリース周期とサポート ライフサイクル0> で説明されているように、9 か月間のサービス修正プログラムが提供されます。 新機能の完全な一覧については、以下を参照してください。
C++ 標準準拠
フロントエンド チームは、引き続き C++23 および C++20 の機能を実装し、準拠の問題を修正しました。
- C++23 実装: 詳細については、 MSVC ビルド ツール 14.51 の C++23 サポート に関するブログ記事を参照してください。
- Consteval の機能強化:
consteval関数の処理、モジュール内の constexprnew/delete、初期化子リストのバッキング配列、/experimental:constevalVfuncVtable動作が既定で有効になり、失敗した定数式のエラー診断が改善されました。- コルーチンの機能強化: コルーチン関連のグローバル リファクタリング、および実験用コルーチン ヘッダーの廃止。
- パーサーの最新化: 再帰降下パーサーが
[[attributes]]を処理するようになりました。これにより、エラーの回復とレガシ トークン アクセサーの削除が継続的に改善されました。- C 言語の機能強化: 修飾子
_Atomicサポートが追加され、C99 フレキシブル配列メンバーの正しくない診断が削除され、関数型__typeof__サポートが追加されました。コード生成
バックエンド オプティマイザーは、次の多くの領域で大きな投資を受けました。
- サンプル ベースのプロファイルガイド付き最適化: サポート ツールを使用したサンプル ベースのプロファイルガイド付き最適化のサポート。 詳細については、今後のブログ記事を参照してください。
- 静的単一代入形式(SSA)の最適化改善: 三項演算子パターンや算術パターン、最小/最大を含む多数の新しい代数的簡略化パターンを実装しました。
- 一般的な部分式の削除 (CSE): if/else 結合、冗長ストアを使用して
[x + C]の負荷の CSE を向上させ、マルチバイトエイリアシング チェックを改善しました。- 集計のスカラー置換 (SROA): 構造体のより積極的な分解。
- ループの最適化: 線形関数テスト置換 (LFTR) の符号修正と、プライマリ誘導変数がループの後に使用される場合のカウントループの最適化。
- インライン: 制限付き呼び出しサイトインライン化を拡張し、インライン化時のパラメーター型情報の伝達を改善しました。
- コピー伝達: 整数定数と順次コピーのコピー伝達に関する複数の機能強化。
- 強度の低下: 変換の削減を強度削減の最適化として実装しました。
- 述語とジャンプスレッド: 最小パターンからの述語の使用を改善するなど、バインドされたチェックを排除するための述語ベースの最適化が改善されました。
- スタック レイアウト: コンパイラは、シャドウ スロットを使用するよりも呼び出し先で保存されたレジスタをスタックにプッシュすることを優先するようになりました。これにより、関数のプロローグ/エピローグのオーバーヘッドが削減されます。
- PGO: 機能ごとのサイズと速度のトレードオフが改善され、代表的でないプロファイルを軽減するための対応とPGOトリミングの改善が施されました。
- ポインターの制限: 追加のエイリアシングの最適化を有効にするための制限ポインター セマンティクスのサポートが追加されました。
- パターン マッチングの最適化:
MSUB/MADD生成、条件付き加算/減算のADC/SBB、およびCMOVE/NEバリアントの新しいパターン。- Intel APX: MSVC ツールチェーンでの Intel APX (Advanced Performance Extensions) のプレビュー サポート。 詳細については、以下を参照してください。
ARM64 & SVE
- SVE (スケーラブル ベクター拡張機能) のサポート: ARM SVE を MSVC に導入する主な新機能で、SVE スカラー型と集計型のフロントエンド型のサポート、組み込み関数の低レベル変換、呼び出し先で保存されたレジスタの展開、可変関数パラメーターの受け渡し、ヘッダー ファイルのインストール、tryblock/funclet のサポートなどを含む。 複数の ICE と誤コンパイルの修正に対処しました。
- シュリンク ラッピング: エピローグのみのフラグメント アンワインド情報や、chkstk による X15 の障害を引き起こす codegen バグ、複数エントリのシュリンクラップ領域など、複数の問題を修正しました。
- コード品質:
CSEL pow2, 0 + ORR → CSET + ORR_SHIFTの新しいパターン、最適化されたNEON_DUPR、NEON_INSR後の冗長なNEON_DUPRの削除、x264 用の ARM NEON パターン、命令融合の改善、globregs 後のレジスタの再入力、および関数のアラインメント 調整。- DIA SDK:
RtlpGetSveContextPointersやIDiaStackWalkHelper3など、デバッグ インターフェイスでの完全な SVE サポート。SIMD とベクター化
- SLP Vectorizer: スーパーワード レベル並列処理 (SLP) ベクター化の機能強化:
- スカラー還元ベクター化
- 汎用および特大ベクター命令のサポート
- 順列最適化と大規模選択のサポート
- Vectorizer の機能強化: ベクター化された内部ループ ポインターの重なりチェックを親ループに持ち上げ、文字カウントループのサポート、2バイトデータ型の非連続メモリアクセスのサポート、ARM64における低トリップカウントヒューリスティックの改善。
- AVX/SSE: aVX512
memcpy/memset、AVX2memcmpオーバーライド、AVX10.2、x264 のベクター化ビットマスク パターン。リンカーと PDB
- DIA: COM 初期化スレッドの安全性と SVE のサポート。
- PDB ファジー: 夜間ビルドから PDB ファジーがトリガーされました。
- SPGO: サンプル ベースのプロファイルガイド付き最適化を使用できます。
標準ライブラリ (STL)
GitHubでは、
microsoft/STL リポジトリは、その状態を詳細に追跡します。MSVC Build Tools 14.51Changelog を参照>。 新しく利用可能な注目すべきライブラリ機能:
- P0429R9 -
<flat_map>- P1222R4 -
<flat_set>- P2255R2 - 一時オブジェクトへの参照バインドを検出する型特性
- P2590R2 - 明示的な有効期間管理
- P2674R1 -
is_implicit_lifetimeその他の重要な変更点:
- VS 2008 SP1 での最初の実装以降に存在する長年の正確性とパフォーマンスの問題を修正するために、
<regex>を大幅に見直しました。 約 20 年後、スタック オーバーフローが最終的に修正されました。- X64/x86 用の SSE4.2 と AVX2 を使用し、ARM64/ARM64EC の NEON を使用して (MSVC ビルド ツール 14.51 で新たに出荷)、SIMD ベクター化された STL アルゴリズムの追加と改善を続けています。
- 18 個の LWG 問題の解決を実装しました。
- TR1、
<hash_map>、<hash_set>、<experimental/filesystem>、stdext::checked_array_iterator、stdext::unchecked_array_iteratorなど、長い間非推奨の非標準機能が削除されました。このすべては、私たちの素晴らしいGitHubの貢献者のおかげで可能でした。
AddressSanitizer (ASan)
- ARM64 のサポート: 包括的なライブラリ パッケージ化、インターセプト修正、および誤検知の解決策により、ARM64 の ASan サポートが改善されました。
- SanitizerCoverage: sancov 初期化子が確実に呼び出されるように、ブロックリストの処理、codegen の問題、および前方宣言を修正しました。
- パフォーマンス: シャドウ メモリ操作中のパフォーマンス向上のためにキャッシュされたウォーク ヒープ。
モジュールと IFC
- IFC バージョンの更新: MSVC フロントエンドは、 IFC 仕様の 0.44 バージョン に従って IFC ファイルを生成します。
- コンカレンシーの修正: IFC デバッグ レコードの同時解決で、use-after-free の競合を修正しました。
静的分析
- EspX 統合: EspX とその拡張機能 (CppCoreCheck など) を 1 つの DLL にマージし、デプロイを簡略化しました。
- バグ修正: 不正確な場所の逆参照による誤検知と、/analyze の内部コンパイラ エラー (ICE) の数を修正しました。
ARM64EC & ARM64X
- コルーチンのサポート: コルーチンアウトラインとランプ関数のエントリーサンクが欠落している問題を修正しました。
- Icf: ARM64X バイナリでの同一 COMDAT フォールディング (ICF) 最適化が改善されました。
- Volatile XMM: ARM64ECの揮発性XMM割り当てを修正しました。
診断
デバッグ情報
- PDB サイズを減らすためにデバッグ情報の排除を有効にしました。
チケット問題解決
このリリースでは、お客様から報告された次の問題が修正されました。
- __builtin_bit_cast内部コンパイラ エラー
- typeof が関数型で動作しない
- Must_inspect_result 偽陽性 (C++)
- 浮動小数点演算の前にスケジュールされた_statusfp
- VS 17.14.5 にアップグレードした後の "LINK : エラー LNK2001: 未解決の外部シンボル"
- "REX.B NOP" は CPU によって "XCHG EAX,R8d" と解釈されますが、VS 2026 ではそれを NOP として逆アセンブルします
- [/permissive-] とテンプレートは、エラー C3688: 無効なリテラル サフィックス '_s' を意味します
- [17.14.15] [フィードバック] C++ 動的デバッグによって静的ローカルが誤って初期化される
- [ARM64] ULONGLONG の減算と比較はWレジスタを使用します
- [C++] 整数型の昇格によって問題が生じた最小/最大三項演算子のロジック式
- [C++20 モジュール]DLL からモジュールから静的クラス/構造体メンバーをインポートするときのエラー LNK2001
- [Neg] [無効な受け入れ] テンプレート引数としての基底クラスのメンバーへのポインター
- [Neg][std:c++20] テンプレート化されたクラス固有の演算子 new の削除が制約によって検出されない
- [Neg][std:c++latest] C++の機能(deducing this)を利用して、非mutable(ミュータブルでない)ラムダ式内でキャプチャを変更することができます
- [permissive-]初期化子リストを使用して初期化するときに CopyElision が実行されない
- [permissive-] std::enable_if 17.13 から 17.14 に更新した後のコンパイル エラー
- [permissive-][Regression] バージョン 19.32 以降の "permissive-" を持つ可変テンプレートの剰余演算子を使用した際、特定の条件で発生する問題。
- [permissive-][回帰] msvc エラー C1001: 内部コンパイラエラー (コンパイラファイル 'msc1.cpp'、行 1589)
- [Permissive-][Regression] ローカルの空き関数のため、既定のメンバー初期化子に ADL がありません
- [回帰]std::function に割り当てられた自動ラムダの FUNCSIG が空です
- [Regression]「警告 C5287: オペランドは異なる列挙型です」 (明示的なキャストを使用する場合も同様)
[Regression] C2106 '=': 左オペランドは左辺値でなければなりません Visual Studio 2026 Insiders [11206.111] - [回帰] cl: 比較的単純なビット操作コードでの内部コンパイラ エラー
- [回帰]空の複合リテラル配列によって内部コンパイラ エラーが発生する
- [回帰] C++23 モードの静的演算子 [] によって発生するエラー C2593
- [回帰] 致命的なエラー C1001: 内部コンパイラ エラー
- [回帰]17.14 での &= のコード生成が正しくありません
- [回帰]boost::rational と google テストを使用して計算結果が正しくない
- [回帰]VS2022 17.10 以降の内部コンパイラ エラー
- [回帰]単純な C++ プログラムをコンパイルしようとしたときの内部コンパイラ エラー
- [回帰] MSVC17.4 以降、参照によって移動できないラムダ キャプチャが機能しない
- [回帰] msdia140.dll ver 14.50.35719.0 CDiaSymbol::get_virtual は常に false を返します
- [回帰]MSVC 19.44.35207.1 C2352 基底クラス メソッドを呼び出すとき
- [回帰]MSVC 19.51 が arm64 の ffmpeg を誤ってコンパイルする
- [回帰]同じ型の構造体の連続するメンバーの MSVC 2026 ポインター減算は、予期しない値につながります
- [回帰]CTAD のパラメーター パックに少なくとも 65536 個のテンプレート パラメーターがある場合に MSVC がクラッシュする
- [回帰] Visual Stdio 2022 17.14.15 更新プログラムに関する問題 - LINK: 致命的なエラー LNK1000
- [回帰] v.19.50 x64 オプティマイザーが /O2 と /EHs で正しくないコードを生成する
- [Regression] Visual Studioコンパイラは、v143 および v145 ツールセットのコードで分岐を誤って最適化します
- [回帰]VS2026 で不適切な FP コードが生成される
- [[Regression]Neg][std:c++latest] 関連のない型のパラメーターを推論するラムダが誤って許可されている
- [Regression][Office] ベクター内のポインターを初期化する VS2026 の InitAll
- [回帰][std:c++20] 前方宣言された型名があいまいな場合、型の特殊化中に前方型宣言が機能しない
- [Regression][std:c++20]
std::arrayを含むエイリアス テンプレートの CTAD 上の ICE- [Regression][std:c++20] 条件付きでコピー可能な型を使用する場合の内部コンパイラ エラー
- [Regression][std:c++20] decltype のラムダを含む有効な修飾型名を拒否します
- [リグレッション][std:c++20] サイレントな不良コード生成: ラムダキャプチャ定数畳み込みでのリグレッション (v143, v145)
- [リグレッション]内部コンパイラ エラー: x64 の MSVC V19.50.35615
- [ssa-patterns-vect]expf の Arm64 最適化のバグ
- [std:c++17]テンプレートとそのコンストラクターの C++17 静的データ メンバーを定義するときに、内部コンパイラ エラーが特定の引数を受け取る
- [std:c++20]"CL.exe" はコード -529706956 で終了しました。
- [std:c++20][回帰] 有効な演算子呼び出しを拒否する
- [std:c++20] エイリアス テンプレート推論ガイドが c++20 で機能しない
- [std:c++20]インラインフレンド関数テンプレートは、クラス テンプレートのテンプレート引数にアクセスできません (C2065)
- [std:c++20]バイナリ左結合式が戻り値の型にあるとコンパイルエラーを引き起こす
- [std:c++20]C++ の明示的な変数テンプレートのインスタンス化により、プリコンパイル済みヘッダーを使用すると内部コンパイラ エラーが発生する
- [std:c++20]C++/CLI - インライン名前空間が機能しない
- [std:c++20]C++/CLI: ::typeid は組み込み型では使用できません
- [std:c++20]C++20 では、型以外のテンプレート パラメーターを持つ requires 句が一貫性のない動作をし、奇妙なコンパイラエラーを生成することがあります
- [std:c++20]C++20: consteval がコンパイルに失敗する
- [std:c++20]C7602 誤検知、定数テンプレート パラメーター制約のバグ
- [std:c++20]コンパイル時にヒープ メモリを割り当てることができない
- [std:c++20]内部モジュール パーティションの宣言クラスを転送できません (C++20)
- [std:c++20]1 つの consteval 関数を引数として別の consteval 関数に渡すことはできません
- [std:c++20]定数式内で即時関数にポインターを使用することはできません
- [std:c++20]エイリアス テンプレートのクラス テンプレート引数の推論が失敗する
- [std:c++20]特定の C++ コルーチンに対してコンパイラによって生成されたコードは、予期しない警告を表示し、負の行番号を参照します
- [std:c++20] 定数式は即時関数では定数と見なされません
- [std:c++20]Consteval コードが MSVC でコンパイルされない
- [std:c++20]非ジェネリックラムダ式のエラー C2100 が正しくありません
- [std:c++20]エラー C2514: クラス テンプレートを構築できません
- [std:c++20] コンストラクターが別のコンストラクターにデリゲートするときの右辺値参照によるエラー C7535
- [std:c++20]MSVC 14.44.35207 で NTTP 多次元 c 配列にインデックスを作成するときの ICE
- [std:c++20]constexpr と require がメンバーの存在を正しくチェックしない場合
- [std:c++20]外部インクルード ディレクトリから #pragma system_header ヘッダーを含めると、翻訳単位全体が外部ヘッダーとして扱われます
- [std:c++20]即時関数へのポインターによる操作に関する内部コンパイラ エラー (ICE)
- [std:c++20]floats を特殊化するときの内部コンパイラ エラー
- [std:c++20]consteval ラムダの返された関数を呼び出すと、エラー C7595 が発生します
- [std:c++20]MSVC が consteval 指定子を使用して C++20 テンプレート ラムダをコンパイルできない
- [std:c++20]MSVC は、自動非型テンプレート パラメーターとして渡された 2 つの異なるメンバー ポインター (>Case01::a、>Case02::num) を誤って重複除去します
- [std:c++20]MSVC は、キャプチャなしでクロージャ型から変換関数を継承する有効なプログラムを拒否します
- [std:c++20]std::unqiue_ptr への割り当てに対する警告 C4706 が条件として使用されない
- [std:c++20]プレースマーカー トークンを削除すると、/Zc:プリプロセッサを使用して周囲の空白が誤って削除される
- [std:c++20] には、メンバー関数に対する制約が必要です。基本呼び出しは静的呼び出しのように扱われます
- [std:c++20]std::visit で報告されたランタイム スタックの破損
- [std:c++20] source_location() は間違った値を返します。
- [std:c++20] std::is_constructible は C++20 の配列に対して正しくない回答を提供します
- [std:c++20] std::source_information::current() が consteval コンテキストで異なる場所を出力する
- [std:c++20] std::source_location::current().function_name() は、既定の引数値として使用すると空の文字列を生成します
- [std:c++20]別の関数から consteval 関数を呼び出すことができません
- [std:c++20]制約テンプレート型パラメーターの既定の引数として依存修飾名を使用すると、MSVC コンパイラが中断されます
- [std:c++20]_ASSERTEに '"' の式が与えられると、内部コンパイラ エラーが発生します
- [std:c++20]純粋仮想関数のポインターを取得中に間違ったエラー C3640 が発生しました
- [std:c++20] 再帰 につながる右辺値参照のために呼び出されたオーバーロードが間違っています
- [std:c++20][Neg] クラス テンプレート引数の推論が間違ったコンストラクターを取得する
- [[std:c++20]Neg][Regression] 回帰、三項の結果に対する配列アクセスが誤って prvalue を返す
- [std:c++20][Regression] C++ 20 モジュール C1001: 内部コンパイラ エラー
- [std:c++20][回帰] C++: 配列参照が正しく計算されず、アクセス違反または間違ったメモリ アドレスがアクセスされる
- [std:c++20][Regression] C++20 モジュール全体でテンプレートを部分的に特殊化することはできません
- [std:c++20][Regression] SFINAE 呼び出し後に抽象型の関数テンプレートを特殊化できませんでした
- [std:c++20][Regression] MSVC 14.44.35207 で内部コンパイラ エラーが見つかりました
- [std:c++20][Regression] テンプレート ユーザー定義変換関数で無効な戻り値の型を使用する場合の内部コンパイラ エラー
- [std:c++20][Regression] C++20 コルーチン コードのコンパイル中の内部コンパイラ エラー
- [std:c++20][Regression] 無効な操作: FP 最適化のバグ
- [std:c++20][Regression] 部分的に指定された初期化子リストを使用して静的インライン constexpr メンバーを初期化中に発生する偽の C2102 エラー
- [std:c++20][リグレッション] STL のセキュリティ強化チェック (_MSVC_STL_HARDENING) は最適化されていない (2)
- [std:c++20][regression] テンプレート関数の特殊化と decltype コンパイラの不一致
- [std:c++20][Regression] VS 17.12 回帰、構造化バインディングを含む ICE、constexpr 変数テンプレートのインスタンス化でのラムダ
- [std:c++20][Regression] スロー式がラムダ キャプチャ リストのどこかに含まれている場合、
noexcept(<lambda expression>)は正しくない結果を返します- [std:c++20][Regression]VS2026 regression: ラムダはローカル定数にアクセスできません
- [[std:c++23preview]std:c++latest][Regression] C++23preview でビルドするときのスプリアス コンパイラ エラー C2872
- [std:c++23preview]C++/CLI および C++23 - 多次元マネージド配列が機能しない
- [std:c++latest] #pragma warning(disable) がヘッダー単位で使用されるネストしたヘッダーでは機能しない
- [std:c++latest]名前のない名前空間の匿名共用体に static を使用することが誤って要求されています
- [std:c++latest]C++ モジュール間のバグ__declspec(selectany) 定数初期化
- [std:c++latest]別のモジュールからの using 宣言を使用する場合、C++ モジュールでコンパイル エラーが発生する
- [std:c++latest]静的メンバー関数でローカル クラスが定義されている場合、C2355 が誤ってトリガーされる
- [std:c++latest]1 ビットのビットフィールド メンバーをブール値と比較すると C4389 がトリガーされる
- [std:c++latest]consteval で構築された要素を使用して配列を初期化できない
- [std:c++latest]テンプレートに依存する noexcept を使用して入れ子になった型で CTAD を使用すると、C1001 エラーでコンパイラがクラッシュする
- [std:c++latest] constexpr ユーザー定義リテラルを含む requires 式でのコンパイラ エラー
- [std:c++latest]初期化子が指定された CTAD がコンパイルされない
- [std:c++latest]削除された関数は、即時コンテキストで ADL を無効にします
- [std:c++latest] using-enum-declaration (using enum) を使用してクラス宣言にパブリックにインポートされた列挙型名は、モジュールの境界を越えて失われます
- [std:c++latest] エラー C3535: "overloaded-function" から "auto" の型を推測することはできません
- [std:c++latest] エラー C7595: 即時関数の呼び出しが定数式ではありません
- [std:c++latest]関数ポインターを受け取り、空の init リストを既定の引数として持つ関数宣言の解析中にエラーが発生しました
- [std:c++latest]/E および #warning を使用した余分な空白行出力
- [std:c++latest]既定の型以外のテンプレート パラメーターを使用する場合の誤検知警告 C4305
- [std:c++latest] C7515 の修正後、入れ子のテンプレート内でフォールド式が完全なパックを展開できなくなった
- [std:c++latest]関数の特殊化と概念により、オーバーロードされた関数のあいまいな呼び出しが発生する
- [std:c++latest] C++ モジュールで Boost.PFR を使用する ICE (vs-17.14.0-preview1)
- [std:c++latest]MP ユニットのコンパイル中の ICE
- [std:c++latest] モジュールを含む ICE と consteval の場合
- [std:c++latest]テンプレート推論ガイド付き ICE
- [std:c++latest]ICE: writer.cpp:542 folly + モジュールを使用すると不可能なことが発生しました
- [std:c++latest] 入れ子になったフォールド式で識別子が見つかりません
- [std:c++latest]msvc V145 では、クラス内のテンプレートの制約でクラス内メンバーを使用するときに BUG がトリガーされました
- [std:c++latest]no_unique_addressとhas_unique_object_representationsの間の相互作用が正しくありません
- [std:c++latest]c++20 モジュールをリンクするときの内部コンパイラ エラー
- [std:c++latest]C++ モジュールを使用する場合の内部コンパイラ エラー
- [std:c++latest]内部コンパイラ エラー。 (コンパイラ ファイル 'D:\a_work\1\s\src\vctools\Compiler\CxxFE\sl\p1\c\trees.c', line 19104)
- [std:c++latest] Mixins パックのフォールド式エラー
- [std:c++latest]MSVC: 外部クラス テンプレート パラメーターに応じて入れ子になった構造体が、クラス スコープ内の NTTP として失敗する (C2993)
- [std:c++latest]MSVC が、テンプレート メタプログラミングに関連するコードのコンパイル (動作) に失敗する
- [std:c++latest] ラベル付き構造化バインディングを使用すると、msvc で入れ子のラムダ関数にエラーが発生する
- [std:c++latest] 警告 C4477 に続く注記では、size_t に関して不正確な点があることに注意してください
- [std:c++latest]列挙型の非型テンプレート パラメーターのオーバーロード解決が失敗する
- [std:c++latest]C 配列の問題を参照するパラメーター パック
- [std:c++latest]引数の型を std::optional に推測できません
- [std:c++latest]レイアウト互換のデータメンバーが含まれているにもかかわらず、共用体はレイアウト互換性を持ちません
- [std:c++latest] 入れ子になった std::filesystem::path を使用した C++17 以降のユニバーサルな CL.exe クラッシュ (終了コード -1073741819)
- [std:c++latest][Neg] デストラクターはプライベートですが、コンパイラではスタック上にオブジェクトを作成できます。
- [std:c++latest][regression] テンプレート関数内の range-for 式にラムダが含まれると、C++ パーサーのバグが原因で C2143 + C2451 (+ オプションの C2530 + C3531) エラーが発生します
- [std:c++latest][Regression] クラス テンプレートのメンバー関数テンプレートでテンプレート パラメーター パックを展開する場合の C3520
- [std:c++latest][Regression] パーサーが最初にテンプレート クラス内のエイリアスのインスタンス化を見た場合、テンプレート化されたエイリアス インスタンスを使用できません
- [std:c++latest][Regression] 特定のフォールド式をコンパイルするときの MSVC の最新バージョンでの内部コンパイラ エラー
- [std:c++latest][regression] メンバー関数ポインター、多重継承、constexpr パススルー関数を含む内部コンパイラ エラー。
- [std:c++latest][回帰]Visual Studio 2026 ( x64 のバージョン 19.50.35722 CL.exe ) の Lambda および Constexpr リファレンスを使用した内部コンパイラ エラー
- [std:c++latest][Regression] ラムダはローカル定数にアクセスできません
- [std:c++latest][回帰]MSVC 14.50.35503 内部コンパイラ エラー [Visual Studio 2026 Insiders]
- [std:c++latest][Regression] クラス テンプレートの特殊化でオーバーロード解決が失敗する
- [std:c++latest][Regression] モジュールと fmtlib を使用するときの回帰 (コンパイル エラー)
- [std:c++latest][Regression]構造体に [no_unique_address]メンバーが含まれている場合の正しくない結果
- [std:c++latest][regression]互換性のないオーバーロードが存在する場合に初期化子リストをテンプレート引数として使用すると、エラー C2440 が発生する
- [c0>std:c++latest][Regression]テンプレート基底クラスのオーバーライドされた非テンプレートメンバー関数を呼び出す際に、警告 C4864 が誤って発生する
- [std:c++latest]C++ IntelliSense とコンパイラが、間違った変数が const であると不平を言う
- [std:c++latest]三項演算子は、結果の右辺値参照に一時オペランドを伝達しません。
- [std:c++latest]詳細型指定子を使用して、基になる型が int でない列挙型を参照すると、エラー C3432 と C3433 が発生する
- [std:c11]MSVC は、C99 フレキシブル配列メンバーが非標準の拡張 (0 サイズの配列) であることを誤って警告します
- ARM64 /EHa のコードモーションが正しくありません
- 静的初期化子とデストラクターと /OPT:ICF に関する ARM64 の問題
- ARM64EC: C# アプリから DllImport を介して OpenMP プラグマを含む DLL で C++ 関数を呼び出すとクラッシュする
- arm64x 転送 dll は DATA をサポートしていません
- ASAN_VCASAN_DEBUGGINGは 17.14.3 Preview 1.0 で破損しています
- 先頭にブール型のビットフィールドが C モードで壊れている
- 最適化 (/O2 /Ob /Ot) と /fp:precise を使用してループ内の fabsf で C++ コンパイラがクラッシュする
- C++ constexpr ポインターの減算が誤った結果
- C++ 動的デバッグの Null 文字列リテラル
- C++/CLI C2668 .NET 9 以降でのあいまいな呼び出し
- C++/CLI で .NET Framework 4.8 の x64 で .NET 例外を再スローするとアプリケーションがクラッシュする
- C1001: VS 17.14 を使用した最近の VIM の 64 ビット最適化ビルドでの内部コンパイラ エラー
- C1090: PDB API 呼び出しに失敗しました。エラー コード '3'
- C2034 (オーバーワイド ビット フィールドについて) は、C++ モードではエラーになりません
- C コードのコンパイル時に C4319 が出力されない
- VS 2022 での C4756 関連の問題
- 同位置に配置されたローカルとパラメーターで、有効期間が重複するもの 14.40.33814 以降
- CTime は GMT より後ろのタイムゾーンでエラーをスローします。 VS 15.8 の変更によって回帰が発生しました
- CTime::CTime が 1900 年で失敗する
Visual Studio の atlmfc 内の occsite.cpp ファイルで Dangling ポインターがあります - モジュールから構造体 (またはクラス) をインポートするときに、ビット フィールドの既定のメンバー初期化子が機能しない
- 誤った警告 C5061: 下付き文字式としてのコンマ演算子の使用は非推奨になりました
- ASAN でコンパイルされた EXE (および ASAN ライブラリと DLL が終了時にハングする場合がある)
- 冗長 DUP、SMOV シーケンスを最適化できない (ARM64)
- 致命的なエラー C1001: 内部コンパイル エラー
- C++/CLI ref クラスのメソッド呼び出しの間に、GC が収集されます
- 静的ローカル変数にGuarded_by_すると、注釈構文エラーが報告されます
- 右辺値参照が再帰を引き起こすため、不正なコードが受け入れられます
- Unicode 文字列リテラルの不適切な連結
- コードの書き込みビットフィールドが正しくありません
- 無関係なメンバーの値を使用して入れ子構造の集計メンバーを正しく初期化できない
- AVX2 で生成された不適切な命令
- arm64 ターゲットでのスイッチ ケースの生成が正しくありません
- 行外の ref 修飾メンバー関数からこの引数を指定して呼び出された関数のテンプレート引数推論が正しくありません。
- コピー不可能な型とスローを含む三項式の内部コンパイラ エラー
- msvc 14.50.35717 の内部コンパイラ エラー
- 派生クラスのtype_traitsと演算子 bool の内部コンパイラ エラー
- VS 2026 18.0 Insider で ARM64 を対象とする内部コンパイラ エラー
- Code Analysis (/analyze) を有効にしたときの可変数テンプレート + SAL による内部コンパイラ エラー
- /clr が有効になっている同じ関数で OpenMP と try/catch を使用する場合の内部コンパイラ エラー
- ARM64 用 C/C++ 最適化コンパイラ バージョン 19.50.35710 での内部コンパイラ エラー
- ARM64 用 C/C++ 最適化コンパイラ バージョン 19.50.35722 での内部コンパイラ エラー
- C++ テンプレート テンプレート パラメーターとテンプレート キーワードが見つからない場合の内部コンパイラ エラー
- KASAN ドライバーは、ワイド文字列関数 (wcscat、wcscpy、wcsncpy) を参照するリンクに失敗する
- キーワードは、エラー、警告、または提案で翻訳することはできません。
- ラムダのネストされた decltype が C2011 を引き起こす
- リンカーは、同等である異なる Arm64EC の "icall push thunks" に対して警告を出さないようにする必要があります
- 長い 8 進数形式の文字列は、ユーザーのコンピューターを DoS し、C1060 を引き起こします。
- MFC スタティック ライブラリがメモリ リークを報告する
Microsoft.VCToolsVersion.v143.default.txt 17.2 は 17.1 - ARM64 用の 19.50.35722 を使用した
svset_neonq(arm_neon_sve_bridge.h) の誤ったコンパイル- AArch64 SVE ループの誤コンパイル (ARM64 のバージョン 19.50.35722)
- /Zc:nrvo が有効になっているときにデストラクター呼び出しが見つからない (/O2 および /std:c++20)
- 結果_BitScanForward誤用するとコンパイラがクラッシュする可能性があります
- モジュール: using 宣言がエクスポートされた関数からリークする
- MSDIS が一部の xchg 命令を誤って nop としてデコードしています
- MSVC が noexcept シグネチャを使用してインスタンス化されたテンプレートに noexcept 関数をバインドできない
- MSVC で INCP (およびフレンド) の生成に失敗する - ARM64 用バージョン 19.50.35722
- MSVC で MLA/MAD の生成に失敗する (ARM64 のバージョン 19.50.35722)
- MSVC が LASTA イディオムの最適化に失敗する (ARM64 のバージョン 19.50.35722)
- MSVC が正しくない C6001 警告を生成する
- MSVC x64: /O1 または /O2 で vcvtpd2ps の後に _mm_shuffle_ps が誤って最適化され、削除されました
- 新しい C++ 動的デバッグ機能により、リンク エラー 1136 が発生することがあります
- noexcept 推論が機能しない (CWG 2355)
- 三項演算子で必須のコピーの省略を実装していません
- CHPE ビルド用に UCRT をビルドするときの非決定論的出力の監視
- 最適化は、UB セーフ否定中に見落とされます
- msvc 17.14.7 に切り替えたときのカスタム ハッシュ関数を使用したハッシュ計算のパフォーマンス低下
- ARM64 での PGO インストルメンテーション ランタイムのクラッシュ
- vcruntime.h< の placement operator new[] は _MSVC_CONSTEXPR でマークされるべきです>
- メンバー配列の範囲 for ループの x64 コード生成が不適切です
- 未加工の文字列リテラルには最大 16380 文字の制限があります
- SAL2 アナライザーはGuarded_by注釈に関するshared_locksの処理に失敗する
- サニタイザー カバレッジ ブロックリストの破損
- サニタイザー カバレッジによって C++ バイナリに対して不適切な Codegen が生成される
- SIMD コードの最適化のバグ
- 静的テンプレート関数の特殊化では、静的を指定する必要がありますが、clang は指定してはならないと警告します
- SSA CSE が異なるポインターをコンフレートする
- 標準ライブラリモジュール:乱数機械が偽のエラーC2512を出力する
- 静的ローカル スレッド エポックで /dynamicdeopt を使用すると TLS オフセットが正しくなくなり、クラッシュが発生する
- std:c17 と未サイズの配列 != LOVE
- エンコード プレフィックスが異なる文字列リテラル連結が失敗する
- テンプレート関数が見つかりません
- 3 項演算子には不必要にコピー コンストラクターが必要です
- 予期しないエラー C7595 が報告されました
- consteval 関数のコンパイル中に予期しない結果が発生する
- x64 リリース ビルドで使用されていないコンパイル時定数が原因で、リンクステージ中にコンパイラでアクセス違反が発生する
- プロジェクトの 1 つに 17.14 ツールセットを使用すると、LNK1120 リンク エラーが発生します
- VC++ 17.6 preview 1 ARM64EC コンパイラがキーワード __vectorcall に遭遇したとき、内部コンパイラエラー(ICE)が発生します
- VisualCppTools.14.50.35724 PdbCopy.Exe Arm64 Pdb のコピーがクラッシュする
- 揮発性ローカル変数は x64 では変更されないと見なされます
- 書き込み後に揮発性変数が読み取られない
- VS 17.14.13 x64 SIMD レジスタのコード生成が不適切で、正しく設定されていません
- VS18.0 Insiders MSVC ICE 仮想基底を持つクラスのMFCメッセージマップ内
- vs2022 最適化エラー
- VS2026 MSVC 警告 C4865 は、/Zc:enumTypes により基になる型の変更について誤った情報を示しています
- Windows SDK には atlcom.h に #include
<utility>がありません- 最適化を使用してメサソースファイルをコンパイル中にx64コンパイラがクラッシュする
- ARM64EC スレッドが x64 コルーチンを呼び出し、その x64 コルーチンが別の ARM64EC コルーチンを呼び出すと、x64 エミュレーターがクラッシュする
主なバグの修正
| 主なバグの修正 | コミュニティから |
|---|---|
| MCP レジストリで正しい URL が使用されていない | フィードバックチケット |
| GitHub CopilotがCopilotターミナルでPowershellコマンドを実行すると保留中の状態で終了します。 | フィードバック チケット |
私たちのチーム全体から、Visual Studioを選択していただきありがとうございます! 最新の更新プログラム、リソース、ニュースについては、Visual Studio Hub を確認し、連絡を取り合います。
コーディングを楽しんでください。
Visual Studio チーム
注
この更新プログラムには、サード パーティの通知またはその付随するライセンスに規定されているように、個別にライセンスされている新しいMicrosoftまたはサード パーティ製ソフトウェアが含まれる場合があります。
コミット コンテキスト付き