Note
このバージョンの Visual Studio 2019 はサポートされなくなりました。 サポートされている最新バージョンは 16.11 です。 インストールを更新するか 、Visual Studio の最新バージョン にアップグレードして、引き続きサポートされるようにします。
Visual Studio 2019 のすべてのリリース ノートの一覧については、 リリース履歴ページを参照してください。
Important
これは Visual Studio の最新バージョンではありません。 最新のリリースをダウンロードするには、 https://visualstudio.microsoft.com/downloads/ にアクセスし、 Visual Studio 2022 リリース ノートを参照してください。
Visual Studio 2019 バージョン 16.10 リリース
- 2021 年 7 月 20 日 — Visual Studio 2019 バージョン 16.10.4
- 2021 年 6 月 29 日 — Visual Studio 2019 バージョン 16.10.3
- 2021 年 6 月 15 日 — Visual Studio 2019 バージョン 16.10.2
- 2021 年 6 月 8 日 — Visual Studio 2019 バージョン 16.10.1
- 2021 年 5 月 25 日 — Visual Studio 2019 バージョン 16.10.0
Visual Studio 2019 ブログ
Visual Studio 2019 ブログ は、Visual Studio エンジニアリング チームからの製品の分析情報の公式な情報源です。 Visual Studio 2019 リリースの詳細については、次の投稿を参照してください。
- Visual Studio 2019 v16.10 および v16.11 Preview 1、本日から入手可能
- Visual Studio での Git による生産性の向上
- 本日入手可能。 Visual Studio 2019 v16.9 および v16.10 Preview 1
- Visual Studio 2019 v16.9 プレビュー 3、本日入手可能
- Visual Studio 2019 v16.9 Preview 2 と年末のご挨拶
- Visual Studio 2019 v16.8 および v16.9 プレビュー、本日入手可能
- Visual Studio 2019 v16.8 Preview 3.1 の新機能
- Visual Studio 2019 v16.8 プレビュー 2 の新機能、本日リリース
- Visual Studio 2019 v16.7 および v16.8 プレビュー 1、本日リリース
- Visual Studio 2019 v16.7 プレビュー 2、本日入手可能
- Visual Studio での Git エクスペリエンスに関する新しい更新プログラム
- 本日リリース。 Visual Studio 2019 v16.6 & v16.7 Preview 1
- Visual Studio 2019 バージョン 16.6 Preview 2 では新しい機能がリリースされています
- Visual Studio 2019 バージョン 16.5 が利用可能になりました
- Visual Studio 2019 v16.4 リリースのシーズン
- Visual Studio 2019 バージョン 16.4 Preview 2、秋の味覚と風物詩
- Visual Studio 2019 バージョン 16.3 での .NET Core サポートなど - 今すぐ更新
- Visual Studio 2019 バージョン 16.3 Preview 2 および Visual Studio 2019 for Mac バージョン 8.3 Preview 2 がリリースされました
- Visual Studio 2019 バージョン 16.2 および 16.3 Preview 1 が利用できるようになりました
- Visual Studio 2019 バージョン 16.2 Preview 2
- Visual Studio 2019 バージョン 16.1 と 16.2 Preview
- Visual Studio 2019: コードの高速化。 作業をよりスマートに。 未来を作る
Visual Studio 2019 バージョン 16.10.5
Visual Studio 2019 バージョン 16.10.5 のこのリリースの新機能の概要
このバージョンの Visual Studio 2019 は、Windows Software Update Service (WSUS) を通じてのみ入手できます。
このリリースで修正された主な問題
- iOS リモートシミュレーターが、Xcode 12.4 または 12.5 がインストールされているペアリングされた Mac デバイスで正しく動作するようになりました。 Xcode 12.4 以降がインストールされている Mac デバイスとペアリングされている場合、次の Xcode シミュレーター機能は使用できません。
- シミュレートされたメモリの警告
- シミュレートされた場所
セキュリティ アドバイザリ メモ
CVE-2021-26423 .NET Core のサービス拒否の脆弱性
サービス拒否の脆弱性があり、WebSocket エンドポイントを提供する .NET (Core) サーバー アプリケーションが、1 つの WebSocket フレームを読み取ろうとしている間に、無限ループに陥る可能性があります。
CVE-2021-34485 .NET Core 情報漏えいの脆弱性
必要に応じてクラッシュ ダンプとダンプを収集するツールによって作成されたダンプが、Linux および macOS のグローバル読み取りアクセス許可を使用して作成されるときに、情報漏えいの脆弱性が存在します。
CVE-2021-34532 ASP.NET Core 情報漏えいの脆弱性
情報漏えいの脆弱性は、JWT トークンが解析できない場合にログに記録される場所に存在します。
Visual Studio 2019 バージョン 16.10.4
Visual Studio 2019 バージョン 16.10.4 のこのリリースの新機能の概要
このリリースで修正された主な問題
- memset で許可されていないレジスタの使用を削除しました。
- ビット単位の not 演算子を含む複雑な入れ子にされた式に関する codegen のバグを修正しました。
- VS Graphics Analyzer のシェーダーのデバッグを修正しました。
- クラス内テンプレートの特殊化で静的データ メンバーを処理するときに発生する IntelliSense のクラッシュを修正しました。
- /installer/passive スイッチを指定して X64 VC Redist を実行した場合、ランタイム ファイルが削除されなくなりました。
- "インクルード ディレクトリ" を前に付けた場合に、インクルード検索の順序が正しくなくなることがあるイシューを修正しました。
- VARIANT の誤用のバグを検出するチェッカー拡張機能の 1 つによって引き起こされるパフォーマンス問題と擬陽性を修正しました。
- 列挙値をインデックスとして誤用するバグを検出するチェッカー拡張機能の 1 つによって引き起こされるパフォーマンスの問題を修正しました。
- Live Share 言語サービスの修正プログラムを導入しました。これにより、コラボレーション セッション参加者向けの主要なコード編集機能 (コード補完、構文の強調表示、エラーなど) を復元しました。
- コンカレンシー アナライザーにより、自動ロック パターンを伴う C26110 (ロック取得の失敗) という誤った警告が生成されなくなりました。
- C# および Visual Basic のコンパイラで、InternalsVisibleTo が他のアセンブリ レベル属性と衝突するクラッシュを修正しました。
- WPF NetCore アプリと Project Reunion アプリなど、Windows アプリケーション パッケージ プロジェクトを使用してプロジェクトをパッケージ化する際に発生するイシューを修正しました。
エラー アセット ファイル '...\obj\wappublish\win10-x86\project.assets.json' が見つかりません。 このファイルを生成するには、NuGet パッケージの復元を実行します。 App4 (パッケージ) C:\Program Files\dotnet\sdk\5.0.302\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets 242
この問題は、パッケージ プロジェクトによって project.assets.json ファイルが検索される際に、win-$(configuration) ではなく、win10-$(configuration) という誤ったディレクトリが検索されることにより発生していました。
Developer Community から
- 外部ヘッダーのコンパイル エラー
- アナライザー C26110 による誤ったロック警告
- v16.10 Visual Studio へのアップグレード後、InternalsVisibleTo 属性でアセンブリを宣言すると内部コンパイラ エラーが発生する
- Visual Studio 16.10.2 に付属している Vcredist_x64.exe (14.29.30038.0) を使用すると、/passive スイッチを使用した 2 回目のインストール後に msvcp140.dll が誤って削除される
- VS 16.10.1 コード生成のイシュー (x86 のみ)
- Address Sanitizer では、環境変数を使用せずにクラッシュ ダンプのトリガーを許可する必要がある
- 頂点シェーダーでシェーダーのデバッグを開始した後、三角形をクリックすると、Graphics Analyzer が動作しなくなる
- vsftest: NMI のテスト
- Project Reunion の発行に関する問題
- LKG12 WAVE2 のツールはリリース前に更新する必要がある
- WinUI 3 アプリを MSIX にパッケージ化できない
- グラフィックス デバッガー - 16.10.3 への更新後に Shader-Debugging が機能しなくなった?
- Project Reunion 0.8 で WinUI 3 アプリをパッケージ化できない
Visual Studio 2019 バージョン 16.10.3
リリース日: 2021 年 6 月 29 日
Visual Studio 2019 バージョン 16.10.3 のこのリリースの新機能の概要
このリリースで修正された主な問題
- モジュールからインポートされたシンボルの [定義へ移動] によって、そのシンボルの定義ではなくモジュール ファイルの開始に移動するイシューを修正しています。
- テキスト ボックスの境界線の色の明るさ比が 3:1 未満であるため、視覚障がいのある開発者が、画面のフォーカスを特定するのが困難なイシューを修正しました。
- データベース プロジェクトを修正しました: ソリューション エクスプローラーから開いているファイルにファイルをドラッグすると、ファイル システムからファイルが削除される。
- データベース プロジェクトで merge ステートメントを使用するとビルド エラーが発生するイシューを修正しました。
- インストールされている拡張機能を報告するときに、ディスクのパスを送信しなくなりました。
- クイック スタート ウィンドウを閉じようとすると、Visual Studio がクラッシュすることがあるイシューを修正しました。
- ツール ウィンドウを表示すると VS がクラッシュするイシューを修正しました。
- 関連のない G++/GCC で生成されたシンボルがアプリケーションに読み込まれる場合の、ユーザーコードでの C++ のエディット コンティニュを修正しました。
- iAd フレームワークからのプライベート セレクターの使用を修正します。
- XAML デザイナーで発生するエラーが原因の VS でのクラッシュを修正しました
- .netcoreapp プロジェクトを参照する Windows アプリケーション パッケージ プロジェクトで .msixbundle が生成されるイシューを修正しました。
- プロジェクトが最新であり、変更が不要な場合でも、WAP プロジェクトに迅速で最新のチェックを実行できず、それらのプロジェクトが (スキップされずに) ビルドされ、IDE での増分ビルド時間がさらに長くなっている問題を修正しています。
Developer Community から
-
[C++, IntelliSense, 16.7.7]ヒントでメンバー関数ポインターのサイズが間違っている - SQL Server プロジェクトの作業時に 16.9.2 がフリーズする
- C++20 IntelliSense の range-v3 バージョン 0.10.0 で間違ったエラーが発生する
- モジュールでの Intellisense のイシュー
- Xamarin.Forms iOS での SkiaSharp DirectoryNotFoundException
- バージョン 16.10.0 リリース エディターの問題 - 要素コンボ ボックスを使用してコード間を移動できなくなった
- C++ 20 モジュール: [宣言に移動] をクリックすると、カーソルが正しくない位置にジャンプする
- "アカウントを追加するときにデバイス コード フローを有効にする" オプションが v16.10 から表示されなくなった
- VS 2019 16.10.0 PackageInspectionFailed: バンドルから Info.plist を読み込めず、そのようなファイルまたはディレクトリがない
- アプリ ストア パッケージに 32 ビット ファイルが含まれている
- 16.10.2 が Mac に接続しない
- vsftest: NMI のテスト
Visual Studio 2019 バージョン 16.10.2
リリース日: 2021 年 6 月 15 日
Visual Studio 2019 バージョン 16.10.2 のこのリリースの新機能の概要
このリリースで修正された主な問題
- コード分析でのコンカレンシー チェック機能が向上しました。 複雑な制御フローの改ざんがより難しくなりました。
- この修正プログラムにより、外部ヘッダーの分析がスキップされ、外部ヘッダーからの警告が抑制されることで、外部ヘッダーの動作が復元されます。
- 不完全な IntelliSense が表示される、またはパフォーマンスが低下する可能性がある .aspx/ascx ファイルを修正しました。
- 大規模なプロジェクトで作業する際の Unity CodeLens プロバイダーのスケーラビリティのイシューを修正しました。
- Azure サービス認証オプション ページの翻訳済み文字列が元に戻りました。
- Resharper 拡張機能を使用する場合の断続的なビジュアル コード表示のイシューを修正しました。
- 特定のツール ウィンドウ、エディター、およびデザイナーのレンダリングが小さすぎてコンテンツが表示されないイシューを修正しました。
- アプリを実行する場合、または App Store に発行しようとするときに、Xamarin iOS にアプリ アイコンが見つからない問題を修正しました。
- AOT+LLVM を使用したプロジェクトのビルドが、XA3001 エラーで失敗しなくなりました。
- Visual Studio 2019 バージョン 16.10 にアップグレードした後、特定の状況では、UWP アプリの発行が失敗し、"指定されたリソース名がイメージ ファイルに見つかりません" というエラー メッセージにより失敗することがあります。 これが修正されました。
- デバイス構成が変更されると Visual Studio 2019 の応答が停止するイシューを修正しました。
- MSBuild の次の 3 つのイシューが修正されます。
- Azure DevOps でのビルド時に MSB4017 エラーが回避される。
- $(
[MSBuild]::MakeRelative()) で入力時の末尾のスラッシュが再び保持されるようになった。 - 末尾に ** パターンを持つ glob を除外すると、ピリオドのないファイルが再び除外されるようになった characters
Developer Community から
- Developer Community には、このリリースに付属しているすべての項目の完全な一覧があります。
- ClickOnce でプロジェクトが発行されない。
- SelfContained=true で、プロジェクトが別のプロジェクトを参照している場合、.NET 5.0 の ClickOnce の発行が失敗する。
- ClickOnce が再度機能しなくなった。
- ClickOnce の発行: メタデータ ファイルが見つからない (正しくないディレクトリが使用されている)。発行は CLI で機能する
- ClickOnce が、発行時に間違ったフォルダーからライブラリを収集しようとする (.Net 5)
- 更新後 Visual Studio 2019 バージョン 16.10.0 のビルド ClickOnce が動作しない。
- EWDK を使用した 16.10.0 での回帰のビルド
- 発行時にエラーが発生する。
Visual Studio 2019 バージョン 16.10.1
リリース日: 2021 年 6 月 8 日
Visual Studio 2019 バージョン 16.10.1 のこのリリースの新機能の概要
このリリースで修正された主な問題
- IntelliSense コンパイラでクラッシュする原因となるイシューを修正しました。
- テスト エクスプローラーがソリューションで開いている場合に Visual Studio 2019 インスタンスが終了する原因となるイシューを修正しました。
- 開発者がコマンド ラインから部分的なソリューションをビルドする場合の失敗を修正しました。
- .NET Core アプリケーションの ClickOnce 発行の失敗を修正しました。
- 呼び出し履歴ウィンドウで Visual Studio 2019 がクラッシュすることがあるイシューを修正します。
- iOS バインド プロジェクトをビルドするときの、"メタデータ ファイル '***\bin\Debug\NativeLibrary.dll' が見つかりませんでした" というビルド エラーを修正します。
セキュリティ アドバイザリ メモ
CVE-2021-31957 ASP.NET サービス拒否の脆弱性
ASP.NET Core によってクライアントの切断が不適切に処理される場合、サービス拒否の脆弱性が存在します。
Developer Community から
Visual Studio 2019 バージョン 16.10.0
リリース日: 2021 年 5 月 25 日
Visual Studio 2019 バージョン 16.10.0 のこのリリースの新機能の概要
C++
-
/std:c++latestスイッチですべての C++20 の機能を使用できるようになりました。 MSVC の C++20 標準 (現在は ISO によって発行されている) の実装は機能が完全ですが、いくつかの重要な C++20 ライブラリ機能は、後の欠陥レポート (ISO C++20 バグ修正) によって修正されることが予想されます。これらは ABI と互換性のない方法で変更される可能性があります。 詳細については、Microsoft/STL のイシュー #1814 を参照してください。- C++20 の即時関数と constinit のサポートが、16.10 で追加されました
-
<chrono>の最後の部分: 新しいクロック、うるう秒、タイム ゾーン、解析 - テキストの書式設定に対する
<format>の実装
-
/openmp:llvmが、x64 に加えて、x86 と ARM64 でも使用できるようになりました。 - カスタマイズされたコンパイル警告レベルとコード分析設定により、インクルード ディレクトリを外部として指定できるようになりました。
- 以前の言語モードに C++20 スタイルのコルーチンを有効にする
/await:strictスイッチを追加しました。 - デバッガーで
std::coroutine_handle<T>が視覚化され、元のコルーチン関数の名前とシグネチャ、および現在の中断ポイントが表示されるようになりました。 - CMakePresets のサポートを追加しました。
- Visual Studio で新しいリモート接続を追加するときに、サーバーによって提示されるホスト キーのフィンガープリントを受け入れるか拒否するかが求められるようになります。
- 警告の目的で外部として扱われる必要があるヘッダーを指定するために、MSVC に
/externalスイッチを追加しました。
- どのサービスを開始するかを構成する起動プロファイルを Compose ファイル内に作成する機能。
- イメージにタグを付ける機能。
- コンテナーの [ボリューム] タブを追加しました。
- コンテナーの [ラベル] タブを追加しました。
- イメージの [ラベル] タブを追加しました。
- コンテナーは、Compose プロジェクトによってグループ化されました。
[エディター]
- すっきりした表示がお好みの場合は、Visual Studio の検索 (Ctrl + Q) で "行間" を検索して、行間を変更できます。 このオプションは、[テキスト エディター] > [全般] の下にあります。
- [フォルダーを指定して検索] と [すべての参照の検索] には、結果を保持するためのコントロールがあります。 コミュニティからのフィードバックに基づいて、[結果を保持] オプションを既定でオンに切り替えるオプションを追加しました。 このオプションは、Visual Studio の検索 (Ctrl + Q) で "既定で検索結果を保持する" を検索することで見つけることができます。 このオプションは、[環境] > [検索と置換] の下にあります。 現在、ユーザーは、[フォルダーを指定して検索] は 5 件、[すべての参照の検索] はさらに 5 件の結果に制限されています。
- [フォルダーを指定して検索] の新しいオプションを使用すると、ユーザーは追加の検索を実行し、その結果を前の検索に追加できます。
エディターの拡張性
- IntraTextAdornmentTags を管理するコードの動作が変更されました。 この変更により、他の ITagger と同様に、基になるタグが変更された場合はタグ変更イベントを発生させる必要があります。 そうしないと、タグが更新されないおそれがあります。
- メモリ ダンプの診断分析に、マネージド Linux のコア ダンプが含まれるようになりました。
- ディープ リンクを使用して Web に移動し、新しい pull request を作成し、Git メニューから GitHub または Azure DevOps の PR を表示します。
- ブランチ ピッカーから 1 回の選択でローカルとリモートのブランチをチェックアウトします。
- コンテキスト メニューを使用して、リポジトリ ピッカーから項目を削除します。
- [Git] > [設定] を使用して、Git リポジトリを開くときのソリューションの自動読み込みを有効にします。
- [Git] > [設定] を使用して、Git リポジトリ ウィンドウからブランチをチェックアウトするためのダブルクリックの動作を切り替えます。
- [Git 変更] ウィンドウのオーバーフロー メニューから、ブランチと複数のリモートを同期 (プルしてプッシュ) します。
- オーバーフロー メニューから、[Git 変更] ウィンドウのツール バーに表示される操作 (フェッチ、プル、プッシュ、同期) をカスタマイズします。
- [Git 変更] ウィンドウのオーバーフロー メニューから、ブラウザーでリポジトリを開きます。
- ステータス バーからローカル ブランチとリモート ブランチを検索してチェックアウトします。
- ステータス バーからローカル Git リポジトリを検索して切り替えます。
- [Git] メニューのローカル リポジトリの一覧が Visual Studio の起動時に読み込まれない問題を修正しました。
- リポジトリを開いたときに、入れ子になったプロジェクトのサブリポジトリをローカル リポジトリの一覧に追加します。
- [Git] > [設定] を使用してリポジトリを切り替えるときに、ソリューションを開いたままにします。
- [Git] > [設定] を使用してリポジトリを開くときに、フォルダーを開く機能を無効にします。
- ステータス バーの [プッシュされていないコミット] ボタンまたは [Git] メニューの [同期] コマンドを使用して、ブランチをリモートと同期します。
- 受信コミットがない場合でも、[Git リポジトリ] ウィンドウの履歴ペインからフェッチしてプルします。
- [コミットの詳細] と、[Git リポジトリ] ウィンドウに埋め込まれたファイルの変更の比較を表示します。
- Azure DevOps Git リポジトリを開いたときに、自動的に再接続するか、最初の Azure DevOps 接続を確立するようにプロンプトを表示します。
- マージやリベースの際に、ソースとターゲットという紛らわしい用語に代わって、ブランチ名が表示されます。
- ソリューション エクスプローラーのソース管理のグリフのパフォーマンスと信頼性を強化しました。
- 空の場合でも、[Git リポジトリ] ウィンドウで受信セクションと送信セクションが保持されます。
- [Git Changes]\(Git 変更\) ウィンドウの複数のリモートのフェッチ/プル/プッシュのドロップダウンを 1 つのアクション メニューに統合しました。
- メソッド呼び出しの引数入力候補
- EditorConfig ユーザーインターフェース
- 継承チェーンを視覚的に検査して移動する
- キャスト、インデクサー、および演算子の IntelliSense 入力候補
- ソース ジェネレーターのデバッガー サポート
- Visual Basic のコード クリーンアップ サポート
- エディット コンティニュ (EnC) の更新
- Remove Unused References\(未使用の参照の削除\)
- スマート改行
- [LINQ 式の簡略化] のリファクタリング
- 列挙値に対する IntelliSense 入力候補
- IntelliSense 入力候補のモード設定
- 新しい行のコード スタイルの設定
- ソース ジェネレーターでの [すべての参照の検索] のサポート
Razor (ASP.NET Core) プレビュー エディター
- IntelliSense 入力候補の更新
- ジェネリック コンポーネントの定義サポートに移動します
- タブとスペースの新しいコード スタイルの構成
- ツール オプションの Razor テキスト エディターが Razor (ASP.NET Core) と呼ばれるようになりました
- Console.Writeline がテスト エクスプローラーに表示されるようになりました
- テスト出力でタグを保持できるようになったため、ログ ファイルからでもハイパーリンクとスタックトレース リンクをナビゲートできます。
- 出力が 300 文字を超える場合、またはテスト結果に 10 個を超えるファイルがアタッチされている場合は、1 回のテスト結果に対してログ ファイルが作成されます。
- また、ログ ファイルをプレビューで開くことができるようになり、タブの管理が容易になりました。
- ログ ファイルとテスト エクスプローラーは、カーソルを移動する Ctrl + PgUp/PgDn と、選択のための Shift + Ctrl PgUp/PgDn をサポートしています。
- ログ ファイル エディターで IVsTextView インターフェイスが使用されるようになり、非常に大きなテキスト ファイルを開くことができるようになります。 これにより、ユーザーは切り捨てられたログの
Copy Allを行い、メモ帳などの別のエディターで開く必要がなくなります。 MSTest の場合は、データ行ごとに個別のログ ファイルを用意するだけではなく、すべての出力を集計する単一のログ ファイルも含まれるようになりました。 - .NET CLI を使用して Ubuntu および Alpine のコマンド ラインでクロスプラットフォームのコード カバレッジを取得できるようになりました。 そのようなプラットフォームを対象とするマシンでコード カバレッジを取得することに関心があるユーザーが、Windows で通常使用するものと同じコード カバレッジ コレクション コマンドを追加できるようになりました。 .NET テストの詳細については、こちらも参照してください。
- テスト エクスプローラーの [すべて折りたたむ] ボタンの横に [すべて展開] ボタンが表示されるようになりました。 このコマンドは、キーボード ショートカット (Ctrl + A、Ctrl + →) で実行できますが、フィードバックにより、ボタンを追加して UI を増やした方がよいことがわかりました。 いつも https://developercommunity.visualstudio.com/ からご意見をお寄せいただきありがとうございます。
- また、テスト エクスプローラーが "期限切れ" を表示する方法にも若干の変更が加えられています。"期限切れ" は、結果が最新のテスト実行のものではないことを示す、グレー表示の、または "フェード表示された" テスト結果です。 最新のテスト実行のものでない結果は、古いものとして表示されます。 以前は、新しいテスト結果 (または再検出された古いテスト結果) も、単色アイコンで表示されていました。 これにより、なぜ一部の "実行されていない" テストがフェード表示され、他のテストがされていないのかに混乱が生じました。 この変更により、"期限切れ" の複雑さが軽減されます。
- 永続化されたテスト結果機能 (バージョン 16.2 で追加) により、Visual Studio を閉じて再度開いた場合でも、前回のテスト実行のテスト結果を表示できます。 これにより、中断した箇所を記憶でき、別のテスト実行を必要とすることなく、より多くのコンテキストが提供されます。 また、永続化された結果が常に古いものとして表示されるように動作を変更しました。 これにより、そのテスト実行が現在の Visual Studio セッション中に実行されたものではないことがわかりやすくなります。
- Azure AD プロビジョニング用の API の V2 への切り替え
- 接続済みサービスとしての Azure App Configuration が動的構成に対応するようになった
Windows アプリケーション パッケージ プロジェクトの依存関係ツリー
- WAP プロジェクトに "依存関係ツリー" が追加されました
- Xamarin.Forms のお客様向けの XAML IntelliSense と XAML ホット リロード
- WPF の ItemsControls を選択するための XAML サンプルデータを導入しました
- 一般的に編集されるプロパティにすばやくアクセスするための新しい電球を追加しました
- ビューモデルの作成に便利な新しい電球を XAML エディターに追加しました
- Service Fabric アプリケーションに StartupServices.xml を導入しました
Visual Studio 2019 バージョン 16.10 の新機能の詳細
Docker ツール
[コンテナー] ツール ウィンドウ
このリリースでは、コンテナーとイメージを簡単に表示して操作できるように、[コンテナー] ツール ウィンドウに追加しました。 新しい機能を試すには、[表示] > [その他のウィンドウ] > [コンテナー] に移動するだけです。
- コンテナーは、Compose プロジェクトによってグループ化されました。 これにより、どのコンテナーがアプリケーションを表しているかを簡単に判断できます。 また、開発中に使用しているラベルを簡単に確認できるように、[コンテナー] に [ラベル] タブを追加しました。
- イメージの [ラベル] タブも追加しました。
- 新しい [ボリューム] タブで、実行中のコンテナーのボリュームを表示でき、Visual Studio でファイルを開くこともできます。
- [コンテナー] ツール ウィンドウからイメージにタグを付ける機能をサポートしました。 [イメージ] から、イメージを右クリックして [タグ] を選択します。
作成
- Visual Studio の Docker Compose ツールに、Compose ファイルで定義したサービスの任意の組み合わせを実行する機能が備わりました。 [デバッグ] ドロップダウンを開くか、docker-compose プロジェクトを右クリックして、[Manage Docker Compose Launch Settings]\(Docker Compose 起動設定の管理\) を選択して作業を開始します。
Git の生産性
- Visual Studio で pull request を容易に作成できるように、リポジトリの PR を作成したり PR の一覧を表示したりすることができる Web ページへのディープ リンク ショートカットであるメニュー項目を追加しました。 リポジトリが GitHub と Azure DevOps のどちらにあるかに基づいて、メニューは動的に作成されます。
- ステータス バーのブランチ ピッカーと [Git 変更] ウィンドウで、ブランチをシングル選択すると、ローカルまたはリモートのブランチがチェックアウトされるようになりました。 コンテキスト メニューには、その他のアクションが表示されます。
- ステータス バーの新しいリポジトリ ピッカーには、一覧から項目を削除できる右クリックのコンテキスト メニューがあります。
リポジトリ ピッカーまたは Git メニューのローカル リポジトリ一覧を使用すると、リポジトリを開いてもソリューションは自動的に読み込まれなくなります。 代わりに、フォルダー ビューと使用できるソリューションが一覧に表示されて選択できます。 この動作は、[Git] > [設定] でチェック ボックスを切り替えて変更できます。
[Git リポジトリ] ウィンドウでブランチ名をダブルクリックすることにより、ブランチをチェックアウトできます。 この動作を変更する場合は、[Git] > [設定] でチェック ボックスを切り替えます。
- [Git 変更] ウィンドウからさらに多くのアクションを実行できるようになりました。 ツール バーのアイコンはカスタマイズ可能であり、表示するアクションを選択できます。 オーバーフロー メニューから複数のリモートと同期できます。 また、ブラウザーでリポジトリのリモート Web ページを開くことができます。
- ローカル ブランチとリモート ブランチを検索し、ステータス バーのブランチ ピッカーから一般的なブランチ アクションを実行します。
- ステータス バーのリポジトリ ピッカーからローカル Git リポジトリを検索して切り替えます。
- Git メニューのローカル リポジトリの一覧が Visual Studio の起動時に読み込まれない問題を修正しました。
- [Git] > [設定] に、リポジトリを開いて切り替える方法を管理する 2 つの新しいオプションを追加しました。 別のリポジトリに切り替えるときに、現在のソリューションを開いたままにすることができるようになりました
- リポジトリを開くときにリポジトリのルート フォルダーを読み込まないように選択することもできます。
- ステータス バーの [プッシュされていないコミット] ボタンまたは [Git] メニューの [同期] コマンドを使用して、ブランチをリモートと同期 (プルしてからプッシュ) します。
- 受信コミットがない場合でも、[Git リポジトリ] ウィンドウの履歴ペインからフェッチしてプルします。 これらのセクションには、ステータス バーまたはキーボード ショートカットの Ctrl + 0 + Y からアクセスします。
- [Git リポジトリ] ウィンドウでコミットを選択すると、その詳細とファイルの変更の比較が表示されるので、他のウィンドウに移動する必要がありません。 2 つのコミットを選択し、右クリックして同じウィンドウ内で比較します。 詳細をそれぞれのウィンドウに全画面でポップアップ表示して、変更点を詳しく調べます。
- ファイル内の削除と挿入の数を表示し、比較のレイアウトを変更します。
- Azure DevOps Git リポジトリを開いたときに、自動的に再接続するか、最初の Azure DevOps 接続を確立するようにプロンプトを表示します。 これにより、開いているリポジトリの作業項目とビルドにアクセスできるようになります。
=
- リベースまたはマージの競合を解決すると、マージ エディターとコンテキスト メニューに、現在のブランチと受信ブランチの名前が表示されます。 これにより、ソースとターゲットという紛らわしい用語が修正されます。
.NET の生産性
- 使用していないプロジェクト参照と NuGet パッケージをクリーンアップできる、[Remove Unused References]\(未使用の参照の削除\) コマンドを追加しました。 このオプションは既定でオフになっているので、[ツール]>[オプション]>[テキスト エディター]>[C#]>[詳細設定] で、[Show “remove Unused References” command in Solution Explorer (experimental)]\(ソリューション エクスプローラーで "未使用の参照の削除" コマンドを表示する (実験段階)\) をオンにする必要があります。 このオプションをオンにすると、[Remove Unused References]\(未使用の参照の削除\) コマンドがプロジェクト名の右クリック メニューまたはソリューション エクスプローラーの Dependencies ノードに表示されます。
[Remove Unused References]\(未使用の参照の削除\) を選択すると、ダイアログが開き、削除されるすべての参照が表示されます。維持する必要がある参照を保持するオプションも用意されています。
- コミット文字として Shift+ を使用すると、一組の中かっこを自動的に挿入し、それらのかっこの間にキャレットを配置する、スマート改行という新しいコマンドを追加しました。 スマート改行は、中かっこのほかにプロパティ、イベント、フィールド、およびオブジェクト作成式を必要とする、すべての型宣言で機能します。 以下の例では、クラスとフィールドにスマート改行を使用しています。 フィールドの末尾にセミコロンがない場合は、Shift+Enter を押すと、一組の中かっこが追加され、フィールドがプロパティに変換されます。 もう一度 Shift+Enter を押してコミットを取り消すことができます。これにより、フィールドの末尾にセミコロンが自動的に追加されます。
- [LINQ 式の簡略化] がリファクタリングされました。これにより、.Where() メソッドの Enumerable に対する不要な呼び出しが削除され、パフォーマンスと読みやすさの向上につながります。 LINQ 式にカーソルを置きます。 (Ctrl+. ) キーを押して、 [クイック アクションとリファクタリング] メニューをトリガーします。 [LINQ 式の簡略化] を選択します。
- 列挙型名が入力されていなくても、型がわかっている場合に、列挙値に対して IntelliSense 入力補完が機能するようになりました。
- IntelliSense 入力補完の新しいモード設定を追加しました。これにより、入力補完の既定のオプションを設定できます。 この新しい設定は、[ツール]>[オプション]>[テキスト エディター]>[詳細設定]>[Default IntelliSense completion mode]\(IntelliSense 入力補完の既定のモード\) から使用できます。Ctrl++ で最後に使用した設定が保持される [Last used]\(最後の使用\)、タブ上でのみ補完する [Tab-only]\(タブのみ\)、現在の既定の動作で、句読点と特殊文字を補完する [自動] のオプションの中から選択できます。
- 新しい行の新しいコード スタイルの基本設定を追加しました。 これらの基本設定を構成するには、EditorConfig ファイルを使用するか、[ツール]>[オプション]>[テキスト エディター]>[C#]>[コード スタイル]>[New line preferences (experimental)]\(改行設定 (実験段階)\) で構成します。
たとえば、コード スタイルの基本設定を設定して、診断を報告し、余分な空白行を削除するコード修正を提供できます。
ソース ジェネレーターで [すべての参照の検索] がサポートされることで、ソースが生成されたドキュメントで参照を見つけることができるようになりました。
これで、メソッド呼び出しを記述するときに引数を自動的に挿入する補完オプションが追加されました。 この機能は既定ではオフになっているため、[ツール] > [オプション] > [テキスト エディター] > [C#] > [IntelliSense] で有効にし、Tab キーを 2 回選択して引数を挿入する必要があります (実験段階)。 メソッド呼び出しの記述を開始し、Tab キーを 2 回 (Tab + Tab) 押します。 メソッド呼び出しに、メソッドの既定値に基づく引数が挿入されることに注目します。 次に、パラメーター ヒントを使用して、挿入したい引数の一覧を上下方向キーを押して循環させることができます。 また、引数の入力を開始して IntelliSense 入力候補一覧を表示し、セミコロンを入力してその引数をコミットし、メソッド呼び出しの末尾にセミコロンを追加することができます。
- EditorConfig 用の UI を作成しました。 ソリューションから C# または Visual Basic EditorConfig ファイルを開きます。 新しい UI が開き、C# と Visual Basic の両方のコード スタイルとコード品質構成オプションが表示されることに注目します。
- これで、継承チェーンの移動と検査を視覚的に表現できるようになりました。 このオプションは既定でオフになっているので、[ツール] > [オプション] > [テキスト エディター] > [C#] > [詳細設定] を選択し、[Show inheritance margin]\(継承の余白を表示\) を選択します。 継承の余白を有効にすると、コードの実装とオーバーライドを表す新しいアイコンが余白に追加されます。 [Inheritance Margin]\(継承の余白\) アイコンをクリックすると、移動先として選択できる継承オプションが表示されます。
- キャスト、インデクサー、および演算子の IntelliSense 入力候補が追加されました。
- ソース ジェネレーターのデバッガー サポートが追加されました。 まず、Visual Studio インストーラーから .NET Compiler Platform SDK コンポーネントをインストールする必要があります。 次に、自分のプロジェクト ファイルに
<IsRoslynComponent>true</IsRoslynComponent>プロパティを追加する必要があります。 次に、[Project Properties Debug]\(プロジェクト プロパティのデバッグ\) ページで、'Roslyn コンポーネント' デバッガー オプションを有効にして、適切なターゲット プロジェクトを選択します。 次に、ジェネレーター プロジェクトで F5 キーを押します。これにより、ターゲット プロジェクトをビルドする CSC.exe/VBC.exe が開始され、ジェネレーター コードをデバッグできるようになります。
このリリースでは、Visual Studio のエディット コンティニュ (EnC) デバッグ エクスペリエンスに次の拡張機能も追加しました。
- 部分クラス内のコードに変更を適用できるようになりました。
- 生成されたソース ファイル内で変更を適用できるようになりました。
- using ディレクティブを追加または変更できるようになりました。
- 信頼性の向上とメモリ消費の削減。
3 つの変更はすべて、EnC が現在サポートされている場所であればどこでも利用でき、C# と Visual Basic の両方のソース ファイルで動作します。
デバッガーと診断
- マネージド メモリ ダンプの一般的な問題を検出するために、いくつかのアナライザーを開発しました。 この分析が、マネージド Linux のコア ダンプで実行できるようになりました。
ありがとう
最後になりましたが、今月の .NET の生産性に貢献してくれた以下の方々に感謝いたします。(または Roslyn):
- Valery (@m08pvv): ホイスト ループ インバリアント条件 PR #52168
- Martin Strecker (@MaStr11): 他の補間された文字列のインライン展開をサポート PR #49229、キャスト、インデクサー、および演算子の IntelliSense PR #47511
- Bernd Baumanns (@bernd5): SyntaxNode-Update メソッドで既定値を使用することによって発生する "情報損失" を修正 PR #52036、初期化子式での NormalizeWhitespace の文字列補間を修正 PR #51213
- C-xC-c (@C-xC-c): レコードの等値パラメーターの名前を 'left' および 'right' に変更 PR #51973
- Kai Jellinghaus (@HurricanKai): Compilation.CommonSyntaxTrees を ImmutableArray を使用するように変更 PR #51905
- Huo Yaoyuan (@huoyaoyuan): 名前付けスタイルの extern メソッドを無視 PR #51728、net5.0 を対象にして見つかった NRT の問題を解決 PR #50895
- Alireza Habibi (@alrz): かっこで囲まれるパターンの解析を修正 PR #49621
- Paul M Cohen (@paul1956) Visual Basic のコード クリーンアップ サポートを追加 PR #48092
- Petr Onderka (@svick): NormalizeWhitespace の後に DocumentationCommentCompiler が動作するようにする PR #47360
- Youssef Victor (@Youssef1313): IDEDiagnosticIDConfigurationTests を包括的ではなく排他的に更新 PR #52078、古い ImportingConstructor PR #52073、VB と C# の間の ContainsSyntaxTree の一貫した動作 PR #52050、nameof 引数の名前を確実に取得 PR #52016、SyntaxFactory.UsingStatement の null アノテーションを修正 PR #51984、CSharpRequiredLanguageVersion を簡略化 PR #51881、#error バージョンの有効な言語バージョンを表示 PR #51880、SymbolEqualityComparer.IncludeNullability ドキュメントを更新 PR #51724、TryGetMethodDescriptorAsync にソース ジェネレーターを含める PR #51686、var パターンを結合可能にする PR #51620、SyntaxToken.Value でボックスを使用 PR #51546、関数ポインター RefKind 表示を修正 PR #51223、スイッチ式でパターンを処理 PR #50984、IMethodSymbol に ImplementationAttributes を追加 PR #50560
-
Benjamin Schäublin (@bschaeublin):
- MetadataReference オーバーロードに関する注釈内の冗長なテキストを修正 PR #51242
- Martin Strecker (@MaStr11):
-
piotrstenke (@piotrstenke):
- GeneratorContexts.cs の
<see>タグ内のそのプロパティ自体を指しているプロパティを更新 PR #50896
- GeneratorContexts.cs の
-
湖尾源 (@huoyaoyuan):
- 構造体の読み取り専用のメンバーについて知るためのキーワード レコメンダーを更新 PR #50820
-
ヤイア ハルバーシュタット (@YairHalberstadt):
- 分解で宣言と割り当ての混在をサポート PR #44476
- Youssef Victor (@Youssef1313):
Razor (ASP.NET Core) プレビュー エディター
新しいプレビューの Razor エディターで、以下の Razor 編集機能がサポートされるようになりました。
- IntelliSense 入力候補で、HTML コンポーネント、TagHelper 要素、および C# 属性がフィルター処理されるようになりました。
- C# オーバーライドの IntelliSense 入力候補。
- ジェネリック コンポーネントの定義サポートに移動します。
- タブとスペースの新しいコード スタイルの構成オプション。 これらのコード スタイルは、新しい Razor ファイルを入力、書式設定、および作成するときに尊重されます。 [ツール] > [オプション] > [テキスト エディター] > [Razor (ASP.NET Core)] > [タブ] でタブとスペースを構成できます。
- [ツール] オプションの Razor テキスト エディターの名前が "ASP.NET Core Razor 言語サービス" から Razor (ASP.NET Core) に変更されました。
新しいプレビューの Razor エディターを有効にするには、[ツール] > [オプション] > [環境] > [プレビュー機能] に移動し、[Enable experimental Razor editor]\(試験段階の Razor エディターを有効にする\) を選択して、Visual Studio を再起動します。
テスト エクスペリエンスのアクセシビリティの向上
- Console.Writeline がテスト エクスプローラーに表示されるようになりました。 長い出力は、[テスト詳細の概要] ペインに折りたたみ可能なセクションとして表示されます。 出力が一定の長さを超える場合、最初の数行が表示され、テスト ログを別のウィンドウで開くオプションにより、切り捨てられます。 20 個を超えるフレームがある場合はスタックトレースが切り捨てられ、最初と最後の 10 フレームのみが表示されます。 切り捨てデザインの重要な部分として、テストの実行で大きな出力がある場合の VS のフリーズを減らすことにも重点を置きました。 出力が大きいテストによって、UI スレッドがブロックされることがなくなります。
- テスト出力でタグを保持できるようになったため、ログ ファイルからでもハイパーリンクとスタックトレース リンクをナビゲートできます。 これらのリンクが、キーボードにも対応しました。
- 出力が 300 文字を超える場合、またはテスト結果に 10 個を超えるファイルがアタッチされている場合は、1 回のテスト結果に対してログ ファイルが作成されます。 また、ログ ファイルをプレビューで開くことができるようになり、タブの管理が容易になりました。 ログ ファイルとテスト エクスプローラーは、カーソルを移動する Ctrl + PgUp/PgDn と、選択のための Shift + Ctrl PgUp/PgDn をサポートしています。
- ログ ファイル エディターで IVsTextView インターフェイスが使用されるようになり、非常に大きなテキスト ファイルを開くことができるようになります。 これにより、ユーザーは切り捨てられたログの
Copy Allを行い、メモ帳などの別のエディターで開く必要がなくなります。 MSTest の場合は、データ行ごとに個別のログ ファイルを用意するだけではなく、すべての出力を集計する単一のログ ファイルも含まれるようになりました。
テスト ツール
- .NET CLI を使用して Ubuntu および Alpine のコマンド ラインでクロスプラットフォームのコード カバレッジを取得できるようになりました。 そのようなプラットフォームを対象とするマシンでコード カバレッジを取得することに関心があるユーザーが、Windows で通常使用するものと同じコード カバレッジ コレクション コマンドを追加できるようになりました。 .NET テストの詳細については、こちらも参照してください。
- テスト エクスプローラーの [すべて折りたたむ] ボタンの横に [すべて展開] ボタンが表示されるようになりました。 このコマンドは、キーボード ショートカット (Ctrl + A、Ctrl + →) で実行できますが、フィードバックにより、ボタンを追加して UI を増やした方がよいことがわかりました。 いつも https://developercommunity.visualstudio.com/ からご意見をお寄せいただきありがとうございます。
- また、テスト エクスプローラーが "期限切れ" を表示する方法にも若干の変更が加えられています。"期限切れ" は、結果が最新のテスト実行のものではないことを示す、グレー表示の、または "フェード表示された" テスト結果です。 最新のテスト実行のものでない結果は、古いものとして表示されます。 以前は、新しいテスト結果 (または再検出された古いテスト結果) も、単色アイコンで表示されていました。 これにより、なぜ一部の "実行されていない" テストがフェード表示され、他のテストがされていないのかに混乱が生じました。 この変更により、"期限切れ" の複雑さが軽減されます。
- 永続化されたテスト結果機能 (バージョン 16.2 で追加) により、Visual Studio を閉じて再度開いた場合でも、前回のテスト実行のテスト結果を表示できます。 これにより、中断した箇所を記憶でき、別のテスト実行を必要とすることなく、より多くのコンテキストが提供されます。 また、永続化された結果が常に古いものとして表示されるように動作を変更しました。 これにより、そのテスト実行が現在の Visual Studio セッション中に実行されたものではないことがわかりやすくなります。
Web ツール
動的構成により、構成リソースをミドルウェアを使用して自動的に最新の情報に更新できます。 接続済みサービスとしての App Configuration で、動的構成をアプリケーションに自動的に統合できるようになりました。 この接続済みサービスを使用するには、[接続済みサービス] をクリックし、Azure App Configuration を [サービスの依存関係] として追加します。
Windows アプリケーション パッケージ プロジェクトの "依存関係ツリー"
- Windows アプリケーション パッケージ プロジェクト (WAP) で NuGet パッケージ参照を有効にするための昨年の作業に引き続き、WAP のソリューション エクスプローラー エクスペリエンスで新しい UI を有効にしました。 古いエクスペリエンスでは、このようなパッケージ参照が表示されないか、UI を使用して NuGet パッケージを追加できませんでした。
- 新しいエクスペリエンスでは、CPS と .NET プロジェクト システムを利用して、"アプリケーション" サブツリーを介してプロジェクト参照を引き続き表示する一方、NuGet パッケージを管理できる "パッケージ" サブツリーも備えた、"依存関係ツリー" が有効にされました。
XAML ツールの機能強化 (WPF & Xamarin.Forms)
Xamarin.Forms
このリリースでは、Xamarin.Forms のお客様向けに XAML IntelliSense と XAML ホット リロードの 2 つの小さな改良を行いました。 ホット リロードの “変更のみ” で次の誤ったエラーが報告されなくなります。
- VisualStateManager のセッターで型を指定せずにプロパティを参照 (
<Setter Property="BackgroundColor" Value="Red">など)。 - マージされた ResourceDictionary が <ResourceDictionary.MergedDictionaries> 要素にラップされていない
例:
<Application>
<Application.Resources>
<ResourceDictionary Source='Colors.xaml'/>
<Style TargetType='Label'> ... <Style>
</Application.Resources>
</Application>
XAML サンプル データ
このリリースでは、ItemsControls に汎用サンプル データを追加する新しい方法を導入して、XAML デザイナーのデザイン時データ機能をさらに強化しました。 この機能は、WPF の ListBox、ListView、DataGrid に対してのみ機能します。
- ListBox、ListView、または DataGrid に
d:ItemSource='{d:SampleData}'を設定することで、サンプル データを有効にできます - これにより、デザイナーのコントロールに、DataTemplates とバインディング パスに一致する 5 つの項目セットのみが表示されます
-
ItemCountプロパティを使用して、生成される項目の数を変更できます。例:d:ItemSource='{d:SampleData ItemCount=3}'
XAML デザイナーのクイック アクション
XAML デザイナーでコントロールを選択すると隅に表示される新しい電球アイコンを使用すると、そのコントロールの一般的に編集されるプロパティにすばやくアクセスできます。
サポートされているコントロールは次のとおりです。
- UWP: Border、Button、Canvas、CheckBox、ComboBox、Grid、HyperlinkButton、Image、ListBox、ListView、NavigationView、RadioButton、Slider、StackPanel、TextBlock、TextBox
- WPF: Border、Button、Canvas、CheckBox、ComboBox、Grid、Image、Label、ListBox、ListView、StackPanel、TextBlock、TextBox
この機能は、UWP、WPF .NET Core、WPF .NET Framework (".NET Framework 用の新しい WPF XAML デザイナー" プレビュー機能がオプション ダイアログで有効になっている場合) で使用できます。
XAML デザイナーのクイック アクションには、機能拡張モデルも用意されています。 独自のアクションの作成の詳細については、XAML デザイナー拡張性の GitHub を参照してください
XAML 用 MVVM ツール
このリリースでは、ビューモデルを作成するための電球を XAML エディターに導入しました。 この電球は、プロジェクトで MVVM フレームワークが使用されているのが検出されると、XAML ドキュメントのルート要素に表示されます。 ダイアログから、生成されたビューモデル名前空間、フォルダー、継承された基本ビューモデルをカスタマイズできます。
また、この電球は、生成されたビューモデルを XAML ドキュメントの x:DataType (Xamarin.Forms) または d:DataContext (他のすべてのプラットフォーム) として設定します。これで、ユーザーは XAML エディターの電球をさらに活用して、ビューモデルでバインドされたプロパティとコマンドを生成できます。
Service Fabric Tools
この機能により、Service Fabric アプリケーション設計で StartupServices.xml が導入されます。 このファイルは、ApplicationManifest.xml の DefaultServices セクションをホストします。 この実装により、DefaultServices とサービス定義関連のパラメータは、既存の ApplicationManifest.xml から StartupServices.xml という新しいファイルに移動します。 このファイルは、Visual Studio の各機能 (ビルド/リビルド/F5/Ctrl+F5/発行) で使用されます。
このリリースで修正された主な問題
- Edit.SmartBreakline コマンドを呼び出す C# 開発者によってプロパティのアクセサー内のすべてのコンテンツが削除されるイシューを修正しました。
- コードスタイル設定を更新する開発者によって、目的のフォルダー内だけでなく、すべての Visual Studio インスタンスに変更が適用されるイシューを修正しました。
- "コード変更を適用" アイコンが、ネイティブの、またはマージされたプロジェクトが開くたびに表示されていました。 これが、開発者がデバッグを開始した後にのみ有効になります。
- AudioUnitPropertyIDType の破壊的変更を修正します
- UWP 単体テスト フレームワークを使用している開発者がリモート デバイスでテストを実行できないイシューを修正しました。
Developer Community から
Developer Community には、このリリースに付属しているすべての項目の完全な一覧があります。
16.10 でリリースされた投票上位のイシューの一部を次に示します。
- .sqlproj が更新されず、変更が反映されない
- 複合リテラル初期化子での配列アクセスで、正しくないオフセットが返される
- Visual Studio 2019 Preview 2 の C++ 標準ライブラリ モジュールの問題/コメント
- CMakeFiles.txt または CMakeSettings.json ファイルに触るたびに Visual Studio 2019 でまだ CMakeBuild ディレクトリがワイプされる
- ラムダの中にある場合に MSVC で constexpr が尊重されない
- noexcept 既定コンストラクター
- /Wall が設定されていると、#pragma warning(push, )) でその範囲のすべての警告が無効にならない
- constexpr-if および未使用のパラメーター
- constexpr の initializer_list を宣言できない
- c++latest によってテンプレート パラメーターの呼び出し規則が混乱する
- Visual Studio 2019 の更新プログラムを確認できません
- [トリム スペースを無視] がオフになっていると、Git の比較ウィンドウにファイル内のすべてが変更されたと表示されます。
- タブの代わりにスペースが挿入されます。
- ASP.NET Core 5 での Visual Studio のデバッガー ビジュアライザーと BinaryFormatter
- VS For Linux: 16.9 の更新後に、リモート コンピューターでの出力ファイルが間違った場所にビルドされます。
- Visual Studio を再起動すると、開かれてピン留めされたタブの一部がピン留めされなくなります。
- Visual Studio 2019 を 16.9.4 にアップグレードすると、コンパイルまたはリンクのエラーが発生します
- C++/CLI ref クラスのメソッド呼び出しの間に、GC が収集されます
- CRT の Trace.cpp での EncodePointer と DecodePointer の論理的なバグ。
- 要素に無効な値の "EnableAllWarnings" があります。
- 有効なコードに対して E0144 が報告されます。 (Intellisense エラー)。
- Visual Studio v16.9.0 にアップグレードした後で、"無効なテンプレート引数です。コンパイル時の定数式が必要です" が発生します
- Visual Studio 2019 でまだ、CMakeFiles.txt または CMakeSettings.json ファイルに触るたびに CMakeBuild ディレクトリがワイプされます。 (https://developercommunity.visualstudio.com/t/sizeof-array-to-pointer-VC-weirdness/1396250)* [sizeof の配列からポインターへの VC の異常]
- Visual Studio Community 2019 のバージョン 16.9.0 に更新した後、Xamarin.Android で無効な文字例外が発生します
- Microsoft.VisualStudio.TestStorage.TestStoreIndexingException: テストの結果を追加できませんでした
- VS For Linux: 16.9 の更新後に、リモート コンピューターでの出力ファイルが間違った場所にビルドされます
- VS を再起動すると、開かれてピン留めされたタブの一部がピン留めされなくなります
- 回帰 16.9.0: F7 別名 "コードの表示" が Xamarin Xaml ファイルから機能しません
- cl.exe は非常に小さなコードをコンパイルするのに 5 GB の RAM を占有します。
- TypeConverter 属性がカスタム列挙型に適用されると、推奨されるアクションに列挙値が表示されません
- テスト エクスプローラーは netcore3.1 および net5.0 ではテストの実行に失敗しますが、net461 では機能します
- /O2 で不正なコードが生成されます
- コンテキスト メニューの [コードの表示] が機能しません
- 致命的なエラー C1001: 内部コンパイラ エラー (コンパイラ ファイル 'D:\a01_work\4\s\src\vctools\Compiler\Utc\src\p2\main.c', line 213)
- VS の拡張ダイアログからライブ共有を削除しようとするとインストーラーで失敗します
- Msvc は、テンプレート関数でのポインターと整数の間の無効な比較を受け入れます
- IntelliSense の参照中に Visual Studio が応答しません。
- vcpkgsrv のクラッシュが原因で IntelliSense が破損しました
- vcpkgsrv.exe プロセスの一覧が増え続けています。
- Visual Studio のマージ ブランチに表示されるブランチ名が誤っています。
- Visual Studio 2019 でよく発生するエラー: "アプリケーションは、別のスレッドにマーシャリングされたインターフェイスが呼び出しました"。
- コード ファイルからテストを開始すると (たとえば、Ctrl + R、T を使用する)、インストールされていない場合でも LiveShare コンポーネントを読み込もうとします。
- プロジェクトがターゲット ランタイムが異なるクラス ライブラリ プロジェクトを参照しする場合、.NET Core 3.1 および .NET 5.0 用の ClickOnce 発行が失敗することがあります。
- E1504 : C++20 モジュール使用時の内部エラーを修正しました。
- C++ IntelliSense で、"列挙型の使用" が認識されません。
- Visual Studio 2019 Enterprise RTM - .NET SDK ベースのプロジェクト (TargetFrameworkMoniker .NET 4.7.2)。
- 構成出力の解析エラーを修正しました。
- LiveShare がインストールされていない場合、"VslsFileSystemProviderVSCorePackage ' パッケージは正しく読み込まれませんでした" というメッセージが表示されます。
- Xamarin iOS バインディング プロジェクトのビルドが、Visual Studio v16.9 で動作しなくなりました。
- ツールセット 16.9 で回帰: vcxproj の静的ライブラリ生成で、pdb が出力にコピーされなくなりました。
- リモートの Linux コンピューターへの接続で、正しくない宛先パスが使用されています。
- コピーの初期化: オーバーロードの解決の問題を修正しました。
- range-v3 ライブラリで IntelliSense の波線が正しくありません。
- DiagnosticDataSerializer.ReadDiagnosticDataArray の例外に続いて金色のバーが表示されます。
既知の問題
Visual Studio 2019 のすべての未解決のイシューと、利用可能な回避策を以下のリンクから参照してください。
Visual Studio 2019 リリース ノート履歴
過去のバージョンの Visual Studio 2019 に関連する詳細については、「Visual Studio 2019 リリース ノート履歴」のページを参照してください。
Visual Studio 2019 バージョン 16.10 リリース ノート