Visual Studio 2022 バージョン 17.7 リリース ノート
ヒント
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.7 リリース
- 2023 年 11 月 14 日 — Visual Studio 2022 バージョン 17.7.7
- 2023 年 10 月 24 日 — Visual Studio 2022 バージョン 17.7.6
- 2023 年 10 月 10 日 — Visual Studio 2022 バージョン 17.7.5
- 2023 年 9 月 12 日 - Visual Studio 2022 バージョン 17.7.4
- 2023 年 8 月 29 日 — Visual Studio 2022 バージョン 17.7.3
- 2023 年 8 月 22 日 — Visual Studio 2022 バージョン 17.7.2
- 2023 年 8 月 15 日 — Visual Studio 2022 バージョン 17.7.1
- 2023 年 8 月 8 日 — Visual Studio 2022 バージョン 17.7
Visual Studio 2022 ブログ
Visual Studio 2022 ブログは、Visual Studio エンジニアリング チームから製品に関する分析情報を提供する公式の情報源です。 Visual Studio 2022 リリースの詳細については、次の投稿を参照してください。
Visual Studio 2022 バージョン 17.7.7
リリース日: 2023 年 11 月 14 日
Visual Studio 2022 バージョン 17.7.7 のこのリリースの新機能の概要
対処済みのセキュリティ アドバイザリ
- CVE-2023-36038ASP.NET IIS には、リモートの認証されていないユーザーが特別に細工された要求を .NET アプリケーションに発行し、サービス拒否を引き起こす可能性がある脆弱性が存在します。
- CVE-2023-36049System.Net.WebRequest.Create に提供される信頼されていない URI を使用してバックエンド FTP サーバーに任意のコマンドを挿入できる特権の昇格の脆弱性が .NET に存在します。
- CVE-2023-36558認証されていないユーザーが blazor サーバー フォームの検証をバイパスして意図しないアクションをトリガーされる可能性がある ASP.NET にセキュリティ機能バイパスの脆弱性が存在します。
- CVE-2023-36042Visual Studio にサービス拒否の脆弱性が存在し、修飾名が正しくないと無限ループが発生する可能性があります。
Visual Studio 2022 バージョン 17.7.6
2023 年 10 月 24 日リリース
Visual Studio 2022 バージョン 17.7.6 のこのリリースの新機能の概要
- Devart 拡張機能が存在する場合にデータベース プロジェクトを開くときのハングを修正しました。
- ソリューション エクスプローラーのコンテキスト メニューから新しい sqllite (および同様の) 接続済みサービスを追加するときのクラッシュを修正しました。
開発者コミュニティ
- Visual Studio 2022 Preview 17.7.0 Preview 6 は、すべてのソリューション ファイルをリモート Linux サーバーにコピーし始めました
- サード パーティの拡張子を持つファイルを開くときに壊滅的なエラー (HRESULT からの例外: 0x8000FFF (E_UNEXPECTED))
- [Visual Studio の登録] を開くが機能しません
- ソース管理プラグインは、'None' に変更された後にソリューションが読み込まれるときに 'Git' に戻ります
- リモート Git 操作が非常に遅い
セキュリティ アドバイザリの再発行
- CVE-2023-36799悪意を持って作成された X.509 証明書を読み取った場合、サービス拒否が発生する可能性があるという脆弱性が .NET に存在します。 この問題は Linux システムにのみ影響します。
- CVE-2023-36796このセキュリティ更新プログラムは、破損した PDB ファイルを読み取るときに、リモート コード実行を引き起こす可能性がある DiaSymReader.dll の脆弱性を解決します。
- CVE-2023-36794このセキュリティ更新プログラムは、破損した PDB ファイルを読み取るときに、リモート コード実行を引き起こす可能性がある DiaSymReader.dll の脆弱性を解決します。
- CVE-2023-36793このセキュリティ更新プログラムは、破損した PDB ファイルを読み取るときに、リモート コード実行を引き起こす可能性がある DiaSymReader.dll の脆弱性を解決します。
- CVE-2023-36792このセキュリティ更新プログラムは、破損した PDB ファイルを読み取るときにリモート コード実行を引き起こす可能性がある DiaSymReader.dll の脆弱性を解決します。
Visual Studio 2022 バージョン 17.7.5
リリース: 2023 年 10 月 10 日
Visual Studio 2022 バージョン 17.7.5 のこのリリースの新機能の概要
- これにより、以前の Visual Studio セッションで選択された構成が復元されない問題が修正されます。
- 設定で [構成ステップを自動的に実行しない] が選択されている場合、CMake キャッシュは自動的に生成されなくなりました。
- C++ モジュールのバグを修正し、いくつかのモジュールのスループット向上を追加しました。 LTCG (/GL) を使用する場合、まれに、コンパイラは、プログラムの実行中にグローバル変数が変更される可能性があることを認識できず、代わりに定数であると誤って判断し、その初期値を、グローバル変数が使用されている場所に不適切に伝達することがあります。
- .NET 7 MAUI を SR8 に更新しました。 リンカーが無効のときに、MAUI アプリを Xcode 15 でコンパイルできない問題を修正しました。 完全なリリース ノートについては、https://github.com/xamarin/xamarin-macios/releases を参照してください。
- クラッシュまたはハングが発生する可能性があるディスプレイ DPI の変更に関連するいくつかの問題を修正しました。
- 特定の Visual Studio ワークロードまたは個々のコンポーネントがインストールされていない場合に、フォルダーを開くと "プロセス テレメトリ" に関連するエラーが表示される問題を修正しました。
開発者コミュニティ
- 変数 CMAKE_INSTALL_PREFIX が複数回定義されている
- Visual Studio 2022 バージョン 17.7.3 を使用すると、ASP.NET Core プロジェクトのビルドがハングする
- ドキュメント アウトラインの速度が非常に遅い。
- HTTP エディターの特殊文字の処理が正しくない
- System.Windows.Extensions 型が Studio バージョン 17.6.5 を使用するプラットフォーム .NET6 でサポートされていない
- バージョン 17.7.0 プレビュー 2.0 - Active Directory の既定の認証と VisualStudioCredential を使用して WebApp を SQL Managed Instance に接続できない
- 2022 プレビュー 2 でインデックス作成がハングする場合がある
- リモート ターミナル例外: メソッド 'ClosePtyAsync' に実装がない
- VS 17.7 の時点で "Format on Save" 拡張機能が機能しなくなった
- ブレークポイントを切り替えると、スタックを元に戻す操作が無効になる
- Visual Studio 17.6 で、再起動後に使用されていた CMakePresets.json 構成が記憶されない
- Active Directory の既定の認証と VisualStudioCredential を使用して WebApp を SQL Managed Instance に接続できない
- DTE2.Documents 例外 0x8000000A
- Visual Studio 2022 が、タスクバーを最小化した後に復元するとクラッシュする
- [フォルダーを指定して検索] ダイアログが開かない
- [構成を自動的に実行しない] をオンにした場合でも、Cmake キャッシュ構成が自動的に実行される
対処済みのセキュリティ アドバイザリ
- CVE-2023-36435MsQuic.dll にはメモリ リークの脆弱性が存在し、サービス拒否につながる可能性があります。 この問題は Windows システムにのみ影響します。
- CVE-2023-38171MsQuic.dll には Null ポインターの脆弱性が存在し、サービス拒否につながる可能性があります。 この問題は Windows システムにのみ影響します。
- CVE-2023-44487ASP.NET Core Kestrel Web サーバーには脆弱性が存在し、悪意のあるクライアントにより特別に作成された HTTP/2 要求がサーバーに大量に発生し、サービス拒否を引き起こす可能性があります。
Visual Studio 2022 バージョン 17.7.4
リリース日: 2023 年 9 月 12 日
Visual Studio 2022 バージョン 17.7.4 のこのリリースの新機能の概要
- Visual Studio で使われる Git のバージョンを v 2.41.0.3 に更新しました。
- 逆コンパイルされたモジュールのホットリロードを使用して変更を適用する際にクラッシュする問題を修正しました。
- パスに引用符を追加することで、VS Installer Elevation Service のセキュリティを確認し、パスに沿ったプロセスのハイジャックを防ぎます。
開発者コミュニティ
対処済みのセキュリティ アドバイザリ
- CVE-2023-36799悪意を持って作成された X.509 証明書を読み取った場合、サービス拒否が発生する可能性があるという脆弱性が .NET に存在します。 この問題は Linux システムにのみ影響します。
- CVE-2023-36796このセキュリティ更新プログラムは、破損した PDB ファイルを読み取るときに、リモート コード実行を引き起こす可能性がある DiaSymReader.dll の脆弱性を解決します。
- CVE-2023-36794このセキュリティ更新プログラムは、破損した PDB ファイルを読み取るときに、リモート コード実行を引き起こす可能性がある DiaSymReader.dll の脆弱性を解決します。
- CVE-2023-36793このセキュリティ更新プログラムは、破損した PDB ファイルを読み取るときに、リモート コード実行を引き起こす可能性がある DiaSymReader.dll の脆弱性を解決します。
- CVE-2023-36792このセキュリティ更新プログラムは、破損した PDB ファイルを読み取るときにリモート コード実行を引き起こす可能性がある DiaSymReader.dll の脆弱性を解決します。
- CVE-2023-36759このセキュリティ更新プログラムは、悪意のあるファイルを読み取って特権の昇格を引き起こす可能性がある pgodriver.sys を削除します。
- CVE-2023-36758このセキュリティ更新プログラムは、悪意のある実行可能ファイルを実行すると特権の昇格につながる VSInstallerElevationService の脆弱性に対処します。
Visual Studio 2022 バージョン 17.7.3
リリース日: 2023 年 8 月 29 日
Visual Studio 2022 バージョン 17.7.3 のこのリリースの新機能の概要
- Xcode 15 でシミュレーターとデバイスを一覧表示するためのサポートを追加し、NewsstandKit ハード リンクの依存関係を削除しました。
- Visual Studio インストーラーについて、インストーラーのパスにシンボリック リンクが含まれていると実行されない問題を修正しました。
- 17.7 で C++ 用に追加された新機能インクルード クリーンアップにより、ユーザーのクラッシュが発生していたため、この機能を一旦無効にしました。17.8 で再度有効化できる見込みです。
開発者コミュニティ
- ある種のプロジェクトに属する任意のファイルが開いているとき、ソリューションを開くとハングが発生する
- .sql ファイルを開こうとすると VS 2022 がクラッシュする
- ワイルドカードを含んだ Kestrel URL が Visual Studio 2022 17.7 で動作しない
- VS2022 で VSIX のインストールが失敗する
- 新しい VS 2022 アップデート 17.7.0 を適用すると、機能テストが動作しない
Visual Studio 2022 バージョン 17.7.2
リリース日: 2023 年 8 月 22 日
Visual Studio 2022 バージョン 17.7.2 のこのリリースの新機能の概要
- 特定のエンドポイント セキュリティとアプリケーション制御プログラムが、Visual Studio の不安定さを引き起こしていました。 これは解決されました。
- "WSL For Me のインストール" エクスペリエンスの一部のユーザーで発生していたクラッシュを修正しました。
- CMake プロジェクトを含むフォルダーを開いたユーザーが、Visual Studio で無期限のハングが発生することがありました。 このハングの原因となっている競合状態が特定され、修正されました。
開発者コミュニティ
Visual Studio 2022 バージョン 17.7.1
リリース日: 2023 年 8 月 15 日
Visual Studio 2022 バージョン 17.7.1 のこのリリースの新機能の概要
開発者コミュニティ
- コメントアウトされたコードは正しく色付けされません
- アプリケーションの出力ウィンドウが表示されません
- AndroidPackageFormat が原因で Csproj エディターが開かない問題を修正しました
- ソリューション フォルダーの名前は変更できません
Visual Studio 2022 バージョン 17.7
リリース日: 2023 年 8 月 8 日
Visual Studio 2022 バージョン 17.7 のこのリリースの新機能の概要
生産性機能
機能 | コミュニティでの提案 |
---|---|
ファイルの比較 | 🙏– 543 票 |
コピーとトリミングのインデント | 🙏– 86 票 |
マルチブランチ Git グラフ | 🙏– 149 票 |
新しい GitHub アクションを作成する | |
並列スタック フィルター | |
ソリューション エクスプローラーのすべての子孫を折りたたむ | 🙏– 7 票 |
パフォーマンスの向上
機能 | コミュニティでの提案 |
---|---|
F5 速度 | |
オールインワン検索の応答性 | |
ファイル内検索の検索機能の改善 | 🙏– 122 票 |
C# スペル チェッカーのメモリ消費量 | |
C++ Unreal Engine から IntelliSense までの時間 | |
電球の応答性 | |
ソリューション負荷の CPU 消費量 |
.NET 開発
機能 | コミュニティでの提案 |
---|---|
外部 .NET コードの自動逆コンパイル | 🙏– 29 票 |
CPU 使用率ツール用の新しい自動分析情報 |
C++ とゲーム開発
C++ による Linux および埋め込み開発
機能 | コミュニティでの提案 |
---|---|
WSL 自動取得 | |
リモート ファイル エクスプローラーの更新 |
[その他の C++ の更新プログラム...]
Web 開発
機能 | コミュニティでの提案 |
---|---|
ASP.NET プロジェクトでの npm 依存関係管理 | |
Reactと Vue の新しいプロジェクト作成のための Vite のサポート | |
HTTP エディター | |
Power Platform の接続済みサービス |
F#
SSDT (SQL)
機能 | コミュニティでの提案 |
---|---|
SSDT におけるサーバーレス SQL プールのサポート |
インストールと更新
機能 | コミュニティでの提案 |
---|---|
ロールバックですべてのユーザー設定が保持されるようになりました |
企業の管理と買収
機能 | コミュニティでの提案 |
---|---|
標準ユーザーが Visual Studio を更新および修正できる | 🙏– 97 票 |
Microsoft 365 開発
機能 | コミュニティでの提案 |
---|---|
Microsoft Teams 開発ツール (Teams Toolkit) |
その他の Developer Community の提案: 皆様からのご要望にお応え
- テーブルを edmx にインポートできなくなる。 "変換を実行しています: System.NullReferenceException: オブジェクト参照がオブジェクトのインスタンスに設定されていません。" 46 票
- 再起動後、バッチ ビルドの選択が記憶されない 41 票
- .vs フォルダーが予期せず大きくなる 32 票
- 呼び出し履歴とその他のウィンドウが正しく表示されない 21 票
- SignTool エラー: /p オプションに /f オプションが必要 12 票
- MAUI で、Xaml に F7 キーを使用できず、CS に Shift + F7 キーを使用できない 10 票
- ピン留めされたタブをクリックすると、ウィンドウが外にドラッグされ、ピン留めが解除される 9 票
- MSVC コンパイラがユーザー定義演算子のオーバーロードでハングする 8 票
- Unreal Engine でシェーダー ファイルを表示すると、HLSL Tools によって Visual Studio がクラッシュし、仮想ファイル マッピングが提供される 7 票
- VS 2022 バージョン 17.6.0 Preview 3 とプリコンパイル済みヘッダーを使用した場合のエラー C1010
- VS 2022 の SSDT は全面的に機能していません
- 包含クラスを参照する入れ子になった非テンプレート クラスを使用するクラス テンプレートの特殊化を含むコードの分析でコンパイラがクラッシュする
- ランダムな JSON ダイアログで VS の起動に失敗しました
- 手動でリビルドを行うか、コードを変更しない限り、Azure 関数の host.json が無視されます
生産性機能:
ファイルの比較
ファイルを比較するために Visual Studio を離れて他のツールに依存する必要はなくなりました。 次のいずれかの方法で、ソリューション エクスプローラー内のファイルを他のファイルと簡単に比較できるようになりました。
- 1 つのファイルを右クリックし、コンテキスト メニューから [比較…] を選択すると、ファイル エクスプローラーが表示されます。 ディスク上の任意のファイルに移動し、比較のためにそれを選択します。
- 2 つのファイルを複数選択するには、Ctrl ボタンを押したまま右クリックし、コンテキスト メニューから [選択項目を比較] を選択します。
ここでフィードバックを共有してください この’新しいエクスペリエンスに関するご意見をお聞かせください。
コピーとトリミングのインデント
Visual Studio から別のプログラム (Outlook、Teams、Slack など) にコードをコピーすると、Visual Studio によってインデントが自動的に修正されるようになりました。
マルチブランチ Git グラフ
プレビューでの作業を基に、他の UI の改善とともに、同じグラフ内で複数のブランチを視覚化できるようにマルチブランチ グラフを実装しました。
現在チェックアウトされているブランチと比較するための他のブランチを選択するか、目のホバー アイコンを使ってグラフのブランチのオンとオフを切り替えることができます。新しい概要アイコンで、現在チェックアウトされているブランチの受信ブランチと発信ブランチが追跡されます。 さらに、Azure DevOps リポジトリの作成者のアバターを表示したり、よりスムーズなグラフ レンダリングの更新を取得したり、ブランチ パネルを折りたたんだりコミットの詳細を開いたりして、領域を最大化したりできます。
このツールに関するフィードバックをこちらで共有してください。
新しい GitHub アクションを作成する
ソリューション エクスプローラーから新しい GitHub Actions ワークフローを作成できるようになりました。 Azure Container Apps とAzure Kubernetes Service が宛先としてサポートされ、単一のワークフローを使用した複数プロジェクトの展開がサポートされています。 プロジェクトが GitHub.com のソース管理下にある場合、GitHub Actions を表すソリューション エクスプローラーに新しいノードが表示されます (新しいノードが表示されない場合は、[ツール] > [オプション] > [プレビュー機能] で [ソリューション エクスプローラーに GitHub Actions を表示する] がオンになっていることを確認します)。 右クリックして [新規作成] を選択して、新しいエクスペリエンスを試します。
"並列スタック フィルター"
[並列スタック] ウィンドウでフィルター オプションがサポートされるようになりました。 フィルター処理を使用すると、重要なフレームとスレッドだけに簡単に集中できるため、より明確になり、より短時間でより多くの作業を行うことができます。 フィルター処理に加えて、並列スタック ウィンドウからフレームをドラッグして選択する機能を追加しました。 これにより、選択したすべてのフレームに対して、コピー/貼り付け、フラグ/フラグ解除、凍結/解凍などの操作を一度に簡単に実行できるようになりました。
ソリューション エクスプローラーのすべての子孫を折りたたむ
- ソリューション エクスプローラー内のノードを右クリックしたときのコンテキスト メニューに [すべての子孫を折りたたむ] コマンドが追加されました。 これを使用して、選択したノードとその子孫ノードを折りたたむことができます。 また、Ctrl キーと左方向キーでショートカットとしてマップしました。
パフォーマンスの向上:
F5 速度
Visual Studio のパフォーマンスはお客様にとって非常に重要であることを認識しています。 これを念頭に置いて、プログラム データベース (PDB) ファイルを最適化しました。その結果、デバッグ セッションが改善され、Unreal プロジェクトのプロジェクト選択画面の読み込み時間がたとえば 21% 短縮されました (約 4 秒の短縮)。 さらに、F5 パスが最適化され、デバッガーの起動時間とプロセスの起動が 5 ~ 10% 改善されました。
オールインワン検索の応答性
All-in-One Search の精度とパフォーマンスがいくつか強化されます。 たとえば、完全一致が結果リストの上位に表示され、クエリを入力すると結果がリアルタイムでより正確に更新されるようになりました。
ツールの>管理プレビュー機能>の「新しい Visual Studio 検索エクスペリエンス (再起動が必要)」でオールインワン検索エクスペリエンスが有効になっていることを確認し、Ctrl + T または Ctrl + Q キーボード ショートカットを使用して起動して、オールインワン検索エクスペリエンスを試してください。 この機能についてフィードバックがある場合は、こちらからお知らせください。
ファイル内検索の検索時間
ファイル内検索の検索時間がさまざまな最適化により大幅に改善され、検索時間が最大 50% 短縮されました。
C# スペル チェッカーのメモリ消費量
C# スペル チェッカーの LSP (言語サーバー プロトコル) が大幅に改善されました。 より効率的なデータ構造を実装し、ストリーミング サポートを有効にすることで、LSP サーバーと LSP クライアントの間で転送される JSON のメモリ フットプリントの 90% という大幅な削減を達成しました。 この機能強化により、スペルチェック機能のパフォーマンスが向上し、効率と拡張性が向上します。
C++ Unreal Engine から IntelliSense までの時間
Unreal Engine プロジェクトでは、新しく開いた C++ ファイルで IntelliSense とカラー化が準備できるようになるまでの時間が大幅に短縮されます。 IntelliSense キャッシュ (IPCH) の生成は、Unreal Engine 5.1 および 5.2 プロジェクトでは 30% 高速になり、Unreal Engine 4.27 プロジェクトでは 15% 高速になりました。
電球の応答性
Roslyn の電球機能のパフォーマンスが向上し、書式設定の修正や型名の簡略化などの低速診断の修正が高速化されました。 大規模なドキュメントや編集後でも、すぐに提案や修正をお楽しみください。
ソリューション負荷の CPU 消費量
最適化されたハッシュ作成方法のおかげで CPU 消費量が削減され、大規模なソリューションの読み込みがより効率的になりました。 この機能強化は、複数のコアを備えたマシンにとって特に有益です。
.NET 開発
外部 .NET コードの自動逆コンパイル
Visual Studio デバッガーでは、外部 .NET コードの自動逆コンパイルがサポートされています。 外部に実装されているコードにステップ インするたびに、デバッガーによって自動的に逆コンパイルされ、実行ポイントが表示されます。
この機能は、呼び出し履歴を分析する場合に特に役立ち、任意のスタック フレームをダブルクリックすると、デバッガーがコードに直接移動します。 さらに、逆コンパイルされたコードをデバッグし、ブレークポイントを簡単に設定できます。 逆コンパイルされたすべてのコードは、ソリューション エクスプローラーの [外部ソース] ノードにも表示されるため、必要に応じて外部ファイルを簡単に参照できます。
外部コードの自動逆コンパイルを無効にしたい場合は、[ツール] > [オプション] > [デバッグ] で、[必要に応じてソースに自動的に逆コンパイルする (マネージのみ)] オプションをオフにするだけです。
CPU 使用率ツールの新しい自動分析情報
CPU 使用率ツールから、Enum.HasFlag、Enum.ToString、String.StartsWith、String(char[])、ConcurrentDictionary.Count、ConcurrentDictionary.Keys/Values、DateTime.Now など、特定のメソッドとプロパティに関連するシナリオの追加の分析情報と詳細が提供されるようになりました。
さらに、Copilot チャット拡張機能を使用する [Copilot に質問する] オプションが追加されました。 トリガーされると、Copilot チャットで問題の発生理由が説明され、修正が提案されます。
C++ とゲーム開発
C++ 用 Unreal Engine マクロの書式設定
Visual Studio は、Unreal Engine リフレクション マクロのインデントと書式設定ルールを検出して従います。 Unreal Engine 固有の書式設定を有効にするには、[オプション] で「Unreal Engine」を検索するか、[ツール] > [オプション] > [テキスト エディター] > [C/C++] > [コード スタイル] > [書式設定] > [Unreal Engine] に移動し、「スレート宣言構文と Unreal Engine リフレクション マクロに特別な書式を適用する」をチェックします。
Visual Studio (C++) での Build Insights
フィードバックのおかげで、Build Insights を Visual Studio 2022 に統合したことをお知らせします。 Build Insights から、C++ のビルド時間を最適化するときに必要な貴重な情報が提供されます。 ソリューションまたはプロジェクトのボタンをクリックして、Build Insights .etl トレース キャプチャを開始します。 コンパイルすると、Build Insights によって診断レポートが作成されるので、コストの高いインクルードを確認し、ヘッダー ファイルに直接移動できます。 パワー ユーザーの場合は、レポート内から Windows パフォーマンス アナライザーを開くことができます。
C++ 用 Unreal Engine の名前付け規則チェッカー
Unreal Engine の名前付け規則チェッカーを使用すると、シンボルが Unreal Engine のコーディング スタイルに準拠していない場合に、Visual Studio でヒントが提供されるようになりました。 .editorconfig ファイルを Unreal Engine プロジェクトに追加すると、Visual Studio のエラー一覧に名前付け規則の警告が表示され、右クリックするとクイック修正オプションが提供されます。
Doxygen オーバーロード解決の改善
以前は、特定の関数に Doxygen コメントがある場合、コメントの直後のものを除き、各オーバーロードのクイック ヒントに表示されませんでした。 今回、関連付けられているすべてのオーバーロードのクイック ヒントに、別のオーバーロードのドキュメントを表示できるようになりました。
Unreal Engine Blueprint Find All References
新しい Blueprint Find All References を使用して Unreal Engine Blueprints の UFUNCTION
の参照を検索できるようになりました。 開始するには、ブループリント参照を含むシンボルを右クリックします。 次に、[すべてのブループリント参照の検索] をクリックして検索を開始します。 Unreal Engine プラグインの最新バージョンの "Visual Studio Integration Tool" が必要です。
Address Sanitizer continue_on_error のサポート
新しい continue_on_error
モードで Address Sanitizer のサポートを拡張しました。 この新しいランタイム モードでは、アプリの実行時に、非表示のメモリの安全性エラーを診断して誤検知ゼロで報告します。 ASAN_OPTIONS=continue_on_error=1
を設定すると stdout
に、set ASAN_OPTIONS=continue_on_error=2
を設定すると stderr
に出力します。 詳細については、「AddressSanitizer continue_on_error」 を参照してください。
クリーンアップを含める
新しい 「クリーンアップを含める」機能が追加されました。 これにより、間接インクルードが検出されるたびに直接インクルードを追加するよう提案され、未使用のインクルードが識別されます。 既定では、この機能は無効です。 これを有効にするには、[ツール>] [オプション] [>テキスト エディター>] [C/C++ > IntelliSense] の順に移動し、[#includeクリーンアップを有効にする] を選択します。 この機能の詳細については、「クリーンアップを含める」のブログ記事を参照してください。
C++ による Linux および埋め込み開発
WSL 自動取得
Linux と Embedded Workload で WSL をワンクリックでダウンロードできるようになりました。 Linux をターゲットにできる CMake プロジェクトを開くと、金色のバーが表示されるので、クリックすると、WSL インストール プロセスが開きます。 既定では、Ubuntu マシンがインストールされます。 さらに、[Project] > [Install WSL for Me] にいつでも移動してダイアログを開くことができます。
リモート ファイル エクスプローラーの更新
リモート エクスプローラーに検索機能を追加しました。 上部のバーに沿ってリモート コンピューター内の場所に基づいてファイルを検索し、右クリックで見つかるファイルの場所に移動できるようになりました。 さらに、ホーム ディレクトリに移動するボタンとツール オプションを開くボタンの 2 つをツール バーに新たに追加し、リモート エクスプローラー エクスペリエンスを向上させました。
その他の C++ の更新プログラム
- CMakePresets.json バージョン 6 のサポートが追加されました。 このバージョンで利用できる内容の詳細については、CMake のドキュメントを参照してください。
- Visual Studio に付属する LLVM のバージョンを 16 にアップグレードしました。 このバージョンで提供される内容については、LLVM および Clang のリリース ノートを参照してください。
_add_overflow_i32
などのオーバーフロー検出用の新しい組み込みを追加しました。- 接続マネージャー API が、プログラムで接続を管理できるように公開されました。
- ASan で使用されるリンク モデルを変更しました。 各ランタイム ライブラリ設定 (
/MD
、/MT
、/MDd
、/MTd
) が独自の方法で ASan ランタイムを提供するのではなく、これらの設定はすべて単一の DLL (clang_rt.asan_dynamic-<arch>.dll
) に依存するようになりました。 つまり、C ランタイムに別の方法でリンクするバイナリをロードするプログラムは、互換性の問題なく ASan で実行できるようになり、/MT(d)
DLL を実行するために ASan でホスト EXE をビルドする必要がなくなりました。 これは、/MT(d)
バイナリもそのプログラムのパス上に存在するclang_rt.asan_dyanmic-<arch>.dll
ことに依存するようになるため、テスト環境を更新する必要があることを意味することに注意してください。 - マクロの [展開の視覚化] オプションを使用して、入れ子になったマクロの展開を段階的に表示できるようになりました。
Web 開発:
ASP.NET プロジェクトでの npm 依存関係管理
npm パッケージを利用する ASP.NET プロジェクトでは、Visual Studio によって package.json のパッケージが ソリューション エクスプローラー の [依存関係] ノードに表示されるようになります。 これにより、参照、NuGet パッケージ、および npm パッケージを含む .NET のすべてのソリューション依存関係を 1 か所で明確に表示できるようになりました。 npm ノードを右クリックすると、新しいパッケージを追加したり、すべてのパッケージを復元 (npm インストール) したりできます。
UI を使用して、追加するパッケージを検索して選択できます。
特定のパッケージを右クリックして更新またはアンインストールできます。
Reactと Vue の新しいプロジェクト作成のための Vite のサポート
Visual Studio で JavaScript/TypeScript と .NET の組み合わせプロジェクト テンプレートを 発表 すると、create-react-app と vue cli の両方が新しいアプリケーションを作成する推奨される方法ではなくなったというコミュニティのフィードバックを受け取っています。 次に、Visual Studio の JavaScript および TypeScript プロジェクト テンプレートに対して、Reactと Vue の両方の新しいプロジェクト作成に Vite を使用します。 プロジェクトのビルドと実行は、サーバーの起動や更新の高速化など、Vite のメリットも得られます。
この変更により、プロセスのパフォーマンスも向上し、その結果、この種のプロジェクトの作成時間が大幅に短縮されました。 また、必要な依存関係がコンピューターにローカルにインストールされていない場合の作成エラーの問題にも対処します。
HTTP エディター
- 新しい応答ビューを含む HTTP エディター の更新が行われました。 新しい応答ビューには、JSON の強調表示のサポートに加え、未加工の応答、要求のヘッダー、および Web サーバーに送信された要求を表示する機能が含まれています。
- 要求を送信する緑色の再生ボタンは、コード レンズ アクションに置き換えられました。
Power Platform の接続済みサービス
- Microsoft Power Platform の接続済みサービスのサポートが追加されました。
- Power Platform 環境へのカスタム コネクタを作成し、Web API プロジェクトをローカルでテストおよびデバッグするための開発トンネルを作成できます。
F#
- インラインによる戻り値の型ヒントを追加しました。
これらはプレビュー段階であり、既定では無効になっています。 [ツール] -> [オプション] -> [テキスト エディター] -> [F#] - > [詳細] - > [Display return type hints] (戻り値の型のヒントを表示する) で有効にします
- 新しい一括コード修正プログラムを追加しました。
#15082 でこれらのコード修正プログラムの完全な一覧を参照してください
- 複数行の引数を使用しているときにパラメーター名のヒントがクラッシュする問題を解決しました
- QuickInfo の説明の幅をカスタマイズするオプションを追加しました: [ツール] -> [オプション] -> [テキスト エディター] -> [F#] -> [QuickInfo] ->[Preferred description width in characters] (希望する説明の幅 (文字数)) #14964 で詳細を確認してください
- 出力ペインにアクティビティ ログを組み込みました (詳細については、#15028 を参照してください)
- 未使用の空白を削除するための一括コード修正プログラムを修正しました
- QuickInfo リンクのナビゲーション速度を改善しました
- 複数のドル記号を含む新しい補間された文字列構文のサポートを追加しました (詳細と RFC)。
- インライン ヒントのツールヒントを導入しました。
A- 型ヒント:
B- パラメーター名ヒント:
- 入れ子になった関数呼び出し (#15156) とカスタム操作 (#15119) のパラメーター名ヒントを修正しました
- 注釈がジェネリック パラメーターまたは型パラメーターと共に存在する場合の戻り値の型ヒントを修正しました (#15124)
SSDT (SQL)
SSDT におけるサーバーレス SQL プールのサポート
サーバーレス SQL プールから SSDT にデータベースをインポートする機能を提供しています。 通常のデータベースをインポートするのと同じプロセスで実行できます。
ユーザーが、サーバーレス SQL プールにまったく新しいプロジェクトを公開することもできます。 ターゲット プラットフォームは、"SQL サーバーレス" として設定する必要があります
これらのテーブルで、スキーマ比較、データ比較、外部テーブルの追加などの通常の SSDT 操作を実行できます。
- Azure Interactive Dir を使用した Azure デバッガーへの公開に関する問題を修正しました。
- ターゲット プラットフォームの命名法の
SQL Serverless
をAzure Synapse Analytics Serverless SQL Pool
に変更しました。
インストールと更新
ロールバック
Visual Studio では、以前にインストールしたバージョンに戻す機能がサポートされるようになりました。 ロールバックすると、Visual Studio は最後に適用された更新の前にインストールされたバージョンに戻りますが、前回の更新以降に選択したコンポーネントの変更は保持されます。 テーマ、フォント、キー バインド、ウィンドウ レイアウトなどの一般的な同期設定は復元されます。 同様に、ローミングされた設定は常に復元されます。 この機能に最近追加されたのは、バージョン 17.7 Preview 3 以降にロールバックする場合にのみ、ユーザー設定などのローカル カスタマイズが復元されることです。 詳細については、ロールバックに関するブログ投稿を参照してください。
企業の管理と買収
標準ユーザーが Visual Studio を更新および修正できる
このバージョンには、エンタープライズ企業向けの、セキュリティ ベスト プラクティスを遵守しながら開発環境の更新や変更を開発者に実行させるのに役立つ新機能が含まれています。 管理者がインストーラーの機能を標準ユーザーに委任できるようになりました。 これにより、管理者がセキュリティ ベスト プラクティスに従ってユーザーのアクセス許可を制限している場合、管理者は、標準ユーザーによるインストーラー機能へのアクセスを許可し、製品の更新や変更を開発者に実行させることができます。
この構成を有効にするには、管理者はクライアント マシン上で 2 つの簡単な手順を実行する必要があります。つまり、最新の 17.7 インストーラーをインストールし、新しいグローバル ポリシーを設定します。
- 製品を更新することで、クライアント コンピューターに最新のインストーラーを入手できます。
- グローバル ポリシー 'AllowStandardUserControl' REG_DWORD を設定します。
- 値 1 を設定すると、更新とロールバックのみが有効になります。
- 値 2 を指定すると、すべてのインストーラー機能 ([使用可能] タブからの変更とインストールを含む) が有効になります。
この機能は、Visual Studio 2017 以降のすべてのバージョンに適用されます。
多くの企業ユーザーがこの機能を要求しており、Microsoft のソリューションがお客様のニーズを満たすことを願っています。 ぜひお試しいただき、ご意見をお聞かせください。
Microsoft 365 開発
Microsoft Teams 開発ツール (Teams Toolkit)
17.6 プレビュー チャネルでプレビュー機能を完全にテストし、現在はプレビュー機能を 17.7 GA バージョンで正式に出荷しています。 例:
- Teams Toolkit は、Teams アプリ テンプレートのプロジェクト構造を更新して、開発者にとって透明性と柔軟性を高めます。
- 新しいプロジェクトでは、新しい構成ファイル
teamsapp.yml
を導入します。ユーザーは、デバッグ、プロビジョニング、デプロイなどのライフサイクル コマンドがトリガーされたときに、Teams ツールキットが舞台裏で実行するアクションを確認できます。 ユーザーは、Teams Toolkit によって実行されているアクションを明確に確認でき、yml ファイルを編集して Teams Toolkit の動作を変更することでアクションをカスタマイズできます。 - VS ネイティブの開発トンネル機能を使用して、Teams アプリのトンネリング サービスを作成できるようになりました。 NgRok は、Teams プロジェクトのトンネルを作成する唯一の方法ではなくなりました。
- TeamsFx .NET SDK の更新
- ボットが通知ボットにインストールされているターゲットのページ分割されたリストを取得するためのサポート。
- 通知ボットで 1 対 1、グループ、またはチームの会話のメンバーのページ分割されたリストを取得するためのサポート。
- このバージョンでは、シンプルな Teams タブ アプリ テンプレートが提供されています。
- Teams Toolkit でユーザー エクスペリエンスを向上させるための、いくつかのバグ修正と UI 改善