Visual Studio 2019 バージョン 16.0 リリース ノート
開発者コミュニティ | システム要件 | 互換性 | 頒布可能コード | リリース履歴 | ライセンス条項 | ブログ | Visual Studio のドキュメントの最新情報
Note
これは Visual Studio の最新バージョンではありません。 最新のリリースをダウンロードするには、Visual Studio のサイトにアクセスしてください。
Visual Studio 2019 バージョン 16.0 の新機能
サポート期間
Visual Studio 2019 バージョン 16.0 は現在サポートされていません。
Visual Studio 2019 バージョン 16.0 の Enterprise および Professional のユーザーは、2021 月 1 月までサポートされ、セキュリティの脆弱性に対する修正プログラムを受け取ります。 この期間は、2019 年 12 月に Visual Studio 2019 バージョン 16.4 が、Visual Studio 2019 製品の次のサービス ベースラインとして指定されたことによって決定されました。 Visual Studio でサポートされるベースラインの詳細については、Visual Studio 2019 のサポート ポリシーに関するページを参照してください。
最新バージョンのリリース ノートを参照するか、Visual Studio サイトにアクセスして、サポートされている最新バージョンの Visual Studio 2019 をダウンロードしてください。
Visual Studio 2019 バージョン 16.0 のリリース
- 2021 年 1 月 12 日 — (最終リリース) Visual Studio 2019 バージョン 16.0.22
- 2020 年 12 月 8 日 — Visual Studio 2019 バージョン 16.0.21
- 2020 年 11 月 10 日 — Visual Studio 2019 バージョン 16.0.20
- 2020 年 10 月 13 日 — Visual Studio 2019 バージョン 16.0.19
- 2020 年 9 月 8 日 — Visual Studio 2019 バージョン 16.0.18
- 2020 年 8 月 11 日 — Visual Studio 2019 バージョン 16.0.17
- 2020 年 7 月 14 日 — Visual Studio 2019 バージョン 16.0.16
- 2020 年 6 月 9 日 — Visual Studio 2019 バージョン 16.0.15
- 2020 年 5 月 12 日 — Visual Studio 2019 バージョン 16.0.14
- 2020 年 4 月 14 日 — Visual Studio 2019 バージョン 16.0.13
- 2020 年 3 月 10 日 — Visual Studio 2019 バージョン 16.0.12
- 2020 年 1 月 14 日 — Visual Studio 2019 バージョン 16.0.11
- 2019 年 12 月 10 日 — Visual Studio 2019 バージョン 16.0.10
- 2019 年 10 月 15 日 — Visual Studio 2019 バージョン 16.0.9
- 2019 年 9 月 10 日 — Visual Studio 2019 バージョン 16.0.8
- 2019 年 8 月 13 日 — Visual Studio 2019 バージョン 16.0.7
- 2019 年 7 月 9 日 — Visual Studio 2019 バージョン 16.0.6
- 2019 年 6 月 11 日 — Visual Studio 2019 バージョン 16.0.5
- 2019 年 5 月 14 日 — Visual Studio 2019 バージョン 16.0.4
- 2019 年 4 月 30 日 — Visual Studio 2019 バージョン 16.0.3
- 2019 年 4 月 18 日 — Visual Studio 2019 バージョン 16.0.2
- 2019 年 4 月 9 日 — Visual Studio 2019 バージョン 16.0.1
- 2019 年 4 月 2 日 — Visual Studio 2019
Visual Studio 2019 ブログ
Visual Studio 2019 ブログは、Visual Studio エンジニアリング チームからの製品の分析情報の公式な情報源です。 そこでは、Visual Studio 2019 リリースの詳細について確認できます。
Visual Studio 2019 バージョン 16.0.22
リリース日: 2020 年 1 月 12 日
16.0.22 のセキュリティ アドバイザリ メモ
CVE-2021-1651 / CVE-2021-1680 診断ハブ標準コレクター サービスの特権の昇格の脆弱性
診断ハブ標準コレクターがデータ操作を適切に処理しなかった場合、特権の昇格の脆弱性が存在します。
CVE-2020-26870 Visual Studio インストーラーのリモート コード実行の脆弱性
Visual Studio インストーラーが悪意のあるマークダウンを表示しようとする場合、リモート コード実行の脆弱性が存在します。
Visual Studio 2019 バージョン 16.0.21
"リリース日: 2020 年 12 月 8 日"
16.0.21 のセキュリティ アドバイザリ メモ
CVE-2020-17156 Visual Studio のリモート コード実行の脆弱性
Visual Studio を使用して悪意のあるリポジトリを複製するときに、リモート コード実行の脆弱性が存在します。
Visual Studio 2019 バージョン 16.0.20
リリース日: 2020 年 11 月 10 日
16.0.20 のセキュリティ アドバイザリ メモ
CVE-2020-17100 Visual Studio の改ざんの脆弱性
Python Tools for Visual Studio によって python27 フォルダーが作成された場合、改ざんの脆弱性が存在します。 この脆弱性の悪用に成功した攻撃者は、昇格されたコンテキストでプロセスを実行できます。
Visual Studio 2019 バージョン 16.0.19
リリース日: 2020 年 10 月 13 日
この 16.0.19 リリースの内容
- .NET Code SDK 2.1.616 が Visual Studio 2019 に追加されました。
Visual Studio 2019 バージョン 16.0.18
リリース日: 2020 年 9 月 8 日
16.0.18 で修正されたイシュー
- .NET Core のサポート対象外のバージョンが、VS のセットアップ時以外で削除されている場合、修復またはアップグレード時に再インストールされなくなりました。
16.0.18 のセキュリティ アドバイザリ メモ
CVE-2020-1130 診断ハブ標準コレクターの特権の昇格の脆弱性
診断ハブ標準コレクターがデータ操作を適切に処理しなかった場合、特権を昇格できる脆弱性が存在します。 この脆弱性の悪用に成功した攻撃者は、昇格されたコンテキストでプロセスを実行できます。
CVE-2020-1133 診断ハブ標準コレクターの特権の昇格の脆弱性
診断ハブ標準コレクターがファイル操作を適切に処理しなかった場合、特権を昇格できる脆弱性が存在します。 この脆弱性の悪用に成功した攻撃者は、昇格されたコンテキストでプロセスを実行できます。
CVE-2020-16856 Visual Studio のリモート コード実行の脆弱性
Visual Studio でメモリ内のオブジェクトが適切に処理されなかった場合、リモートでコードが実行されてしまう脆弱性が存在します。 脆弱性の悪用に成功した攻撃者は、現在のユーザーのコンテキストで任意のコードを実行することができます。
CVE-2020-16874 Visual Studio のリモート コード実行の脆弱性
Visual Studio でメモリ内のオブジェクトが適切に処理されなかった場合、リモートでコードが実行されてしまう脆弱性が存在します。 脆弱性の悪用に成功した攻撃者は、現在のユーザーのコンテキストで任意のコードを実行することができます。
CVE-2020-1045 Microsoft ASP.NET Core のセキュリティ機能バイパスの脆弱性
セキュリティ機能のバイパスの脆弱性は、Microsoft ASP.NET コアによるエンコードされた Cookie 名の解析方法に存在します。 ASP.NET Core Cookie パーサーは Cookie 文字列全体をデコードします。これにより、悪意のある攻撃者によって、名前がパーセント エンコーディングされた 2 番目の Cookie が設定される可能性があります。
Visual Studio 2019 バージョン 16.0.17
リリース日: 2020 年 8 月 11 日
16.0.17 で修正されたイシュー
16.0.17 のセキュリティ アドバイザリ メモ
CVE-2020-1597 ASP.NET Core サービス拒否の脆弱性
ASP.NET Core によって Web 要求が不適切に処理されない場合、サービス拒否の脆弱性が存在します。 攻撃者がこの脆弱性を悪用して、ASP.NET Core Web アプリケーションに対するサービス拒否を発生させる可能性があります。 この脆弱性はリモートで、認証なしで悪用できます。
Visual Studio 2019 バージョン 16.0.16
リリース日: 2020 年 7 月 14 日
16.0.16 で修正されたイシュー
- v15.9 を使用した仮想関数の呼び出しでのコンパイラの CodeGen 回帰を修正しました
- DLL 名の接尾語で、umbrella LIB の大文字と小文字を区別して使用すると、C++ リンカーでインポートが見つからないバグを修正しました。
- ARM64 C++ コンパイラで、setjmp 後に間違った値が復元される可能性があるバグを修正しました。
16.0.16 のセキュリティ アドバイザリ メモ
CVE-2020-1393 診断ハブ標準コレクター サービスの特権の昇格の脆弱性
Windows Diagnostics Hub Standard Collector Service が入力を正しくサニタイズできない場合、特権の昇格の脆弱性が存在し、ライブラリ読み込み動作が安全でなくなります。
CVE-2020-1416 Visual Studio の特権の昇格の脆弱性
Visual Studio でソフトウェアの依存関係を読み込むときに、特権の昇格の脆弱性が存在します。
CVE-2020-1147 .NET Core のサービス拒否の脆弱性
認証を受けていないリモートの攻撃者が、特別に作成された要求を ASP.NET Core アプリケーションや、特定の型の XML を解析する他のアプリケーションに発行して、この脆弱性を悪用する可能性があります。 このセキュリティ更新プログラムは、XML ペイロード内に存在できる型を制限することで、脆弱性に対処します。
Visual Studio 2019 バージョン 16.0.15
リリース日: 2020 年 6 月 9 日
16.0.15 で修正されたイシュー
16.0.15 のセキュリティ アドバイザリ メモ
CVE-2020-1108 / CVE-2020-1108.NET Core のサービス拒否の脆弱性
CVE-2020-1108 に包括的に対応するために、Microsoft は .NET Core 2.1 および .NET Core 3.1 の更新プログラムをリリースしました。 これらのバージョンの .NET Core を使用しているお客様は、最新バージョンの .NET Core をインストールする必要があります。 .NET Core を更新する場合の最新のバージョン番号と手順については、リリース ノートを参照してください。
CVE-2020-1202 / CVE-2020-1203 診断ハブ標準コレクター サービスの特権の昇格の脆弱性
診断ハブ標準コレクターまたは Visual Studio 標準コレクターがメモリ内のオブジェクトを正しく処理できない場合、特権の昇格の脆弱性が存在します。
CVE-2020-1293 / CVE-2020-1278 / CVE-2020-1257 診断ハブ標準コレクター サービスの特権の昇格の脆弱性
診断ハブ標準コレクター サービスによってファイル操作が適切に処理されない場合、特権の昇格の脆弱性が存在します
Visual Studio 2019 バージョン 16.0.14
リリース日: 2020 年 5 月 12 日
16.0.14 で修正されたイシュー
- 企業の IT 管理者と展開エンジニアが、Microsoft Update Catalog と WSUS でホストされている VS2019 16.0 更新プログラムを適用できるかを判断するために Microsoft Update クライアントや SCCM などのツールを構成できるようにするための変更を追加しました。
16.0.14 のセキュリティ アドバイザリ メモ
CVE-2020-1108 .NET Core のサービス拒否の脆弱性
認証を受けていないリモートの攻撃者が、特別に作成された要求を .NET Core アプリケーションに発行して、この脆弱性を悪用する可能性があります。 このセキュリティ更新プログラムでは、.NET Core Web アプリケーションによる Web 要求の処理方法を修正することで、脆弱性に対処します。
Visual Studio 2019 バージョン 16.0.13
リリース日: 2020 年 4 月 14 日
16.0.13 のセキュリティ アドバイザリ メモ
CVE-2020-0899 Microsoft Visual Studio の特権の昇格の脆弱性
特権の昇格脆弱性は、Microsoft Visual Studio アップデーター サービスがファイルのアクセス許可を正しく処理しないときに発生します。 攻撃者がこの脆弱性を悪用すると、ローカル システムのセキュリティ コンテキストで任意のファイルの内容が上書きされる可能性があります。
CVE-2020-0900 Visual Studio 拡張機能インストーラー サービスの特権の昇格脆弱性
特権の昇格脆弱性は、Visual Studio 拡張機能インストーラー サービスがファイル操作を正しく処理しないときに発生します。 この脆弱性の悪用に成功した攻撃者は、昇格されたアクセス許可を使用して任意の場所にあるファイルを削除できます。
CVE-2020-5260 URL に対する検証が不十分なことが原因で発生する Git for Visual Studio の資格情報リークの脆弱性
資格情報リークの脆弱性は、特別に細工された URL が解析され、資格情報ヘルパーに送信されると発生します。 これにより、資格情報が間違ったホストに送信される可能性があります。
Visual Studio 2019 バージョン 16.0.12
リリース日: 2020 年 3 月 10 日
16.0.12 で修正されたイシュー
- VS Preview 2019 vcruntime.h が原因で RC4011 警告が発生する
- C++ コンパイラの新しい Spectre 軽減策オプション: 投機的読み込みの強化のための /Qspectre-load と /Qspectre-load-cf。
セキュリティ アドバイザリ メモ
CVE-2020-0793 と CVE-2020-0810 診断ハブ標準コレクター サービスの特権の昇格の脆弱性
Diagnostics Hub Standard Collector がファイル操作を不適切に処理した場合、または Windows Diagnostics Hub Standard Collector Service が入力を正しくサニタイズできない場合、特権の昇格の脆弱性が存在します。
CVE-2020-0884 Outlook Web アドインの作成時のスプーフィングの脆弱性
多要素認証が有効になっている場合に Outlook Web アドインを作成すると、スプーフィングの脆弱性が発生する
CVE-2020-0789 Visual Studio 拡張機能インストーラー サービスのサービス拒否の脆弱性
Visual Studio 2019 バージョン 16.0.11
リリース日: 2020 年 1 月 14 日
セキュリティ アドバイザリ メモ
CVE-2020-0602 ASP.NET Core サービス拒否の脆弱性
認証を受けていないリモートの攻撃者が、特別に作成された要求を ASP.NET Core アプリケーションに発行して、この脆弱性を悪用する可能性があります。 このセキュリティ更新プログラムでは、ASP.NET Core Web アプリケーションによる Web 要求の処理方法を修正することで、脆弱性に対処します。
CVE-2020-0603 ASP.NET Core のリモート コード実行の脆弱性
認証を受けていないリモートの攻撃者が、特別に作成された要求を ASP.NET Core アプリケーションに発行して、この脆弱性を悪用する可能性があります。 このセキュリティ更新プログラムでは、ASP.NET Core Web アプリケーションによるメモリ内の処理方法を修正することで、脆弱性に対処します。
Visual Studio 2019 バージョン 16.0.10
リリース日: 2019 年 12 月 10 日
16.0.10 で修正された問題
セキュリティ アドバイザリ メモ
CVE-2019-1349 サブモジュール名に対する制限が緩すぎることが原因で発生する Git for Visual Studio のリモート実行脆弱性
兄弟サブモジュールのディレクトリ用のサブモジュール名の衝突が Git で発生している場合には、リモート コード実行の脆弱性が存在します。 この脆弱性を悪用した攻撃者によって、ターゲット コンピューター上のコードがリモートで実行される可能性があります。 セキュリティ更新プログラムでは、新しいバージョンの Git for Windows を使用してこの脆弱性に対処します。このバージョンでは、サブモジュールのクローン用のディレクトリを空にする必要があります。
CVE-2019-1350 コマンドライン引数の引用が正しくないことが原因で発生する Git for Visual Studio のリモート実行脆弱性
SSH URL と組み合わせた再帰クローン中に特定の方法で引用されたコマンドライン引数が解釈される場合には、リモート コード実行脆弱性が存在します。 この脆弱性を悪用した攻撃者によって、ターゲット コンピューター上のコードがリモートで実行される可能性があります。 セキュリティ更新プログラムでは、この問題を解決する新しいバージョンの Git for Windows を使用して脆弱性に対処します。
CVE-2019-1351 クローン中にアルファベット以外のドライブ名が使用されることが原因で発生する Git for Visual Studio の任意のファイル上書き脆弱性
アルファベット以外のドライブ名によって git clone
での安全性チェックが省略される場合、Git には任意のファイル上書き脆弱性が存在します。 この脆弱性を悪用した攻撃者によって、ターゲット コンピューター上の任意のファイルに対して書き込みが行われる可能性があります。 セキュリティ更新プログラムでは、この問題を解決する新しいバージョンの Git for Windows を使用して脆弱性に対処します。
CVE-2019-1352 NTFS 代替データストリームを認識しないことが原因で発生する Git for Visual Studio のリモート実行脆弱性
NTFS 代替データ ストリームを介して git/ ディレクトリにクローンおよび書き込みを行う場合には、リモート コード実行脆弱性が存在します。 この脆弱性を悪用した攻撃者によって、ターゲット コンピューター上のコードがリモートで実行される可能性があります。 このセキュリティ更新プログラムでは、NTFS 代替データ ストリームを認識するようになった新しいバージョンの Git for Windows を使用して脆弱性に対処します。
CVE-2019-1354 バックスラッシュを含む追跡対象ファイルの書き出しを拒否しないことが原因で発生する Git for Visual Studio の任意のファイル上書き脆弱性
バックスラッシュや悪意のあるシンボリック リンクを含むツリー エントリが処理ツリーを抜け出す可能性がある場合には、Git に任意のファイル上書き脆弱性が存在します。 この脆弱性を悪用した攻撃者によって、ターゲット コンピューター上の任意のファイルに対して書き込みが行われる可能性があります。 セキュリティ更新プログラムでは、このようなバックシュラッシュの使用を許可しない新しいバージョンの Git for Windows を使用して脆弱性に対処します。
CVE-2019-1387 再帰的なクローンにおいてサブモジュール名の検証が緩すぎることが原因で発生する Git for Visual Studio のリモート実行脆弱性
サブモジュールで再帰的なクローンを行う場合は、Git にリモート コード実行脆弱性が存在します。 この脆弱性を悪用した攻撃者によって、ターゲット コンピューター上のコードがリモートで実行される可能性があります。 セキュリティ更新プログラムでは、サブモジュール名の検証を強化した新しいバージョンの Git for Windows を使用して脆弱性に対処します。
CVE-2019-1486 Live Share の拡張 URL リダイレクト脆弱性
Live Share セッションに接続されているゲストが、セッション ホストによって指定された任意の URL にリダイレクトされたときに、Visual Studio Live Share 拡張機能でスプーフィング脆弱性が検出されました。 攻撃者は、この脆弱性を悪用し、ゲストのコンピューターでブラウザーを開き、明示的な同意なしに悪意のある URL に移動できるようになっている可能性があります。 これは、アクティブな Live Share セッション中に自動ポート転送を許可する Live Share の "共有サーバー" 機能の一部でした。 最新の更新プログラムでは、ホストが指定した URL を参照する前に Live Share ゲストの同意を取り消すことで、この脆弱性に対処します。
Visual Studio 2019 バージョン 16.0.9
リリース日: 2019 年 10 月 15 日
セキュリティ アドバイザリ メモ
CVE-2019-1425 NPM パッケージの特権の昇格の脆弱性 (2019 年 11 月 12 日公開)
Visual Studio がアーカイブ ファイルを抽出するときにハードリンクを適切に検証できない場合に、特権の昇格の脆弱性が存在します。 この脆弱性は、次の 2 つの NPM アドバイザリで説明されているように、Visual Studio で使用される NPM パッケージによってもたらされました: npmjs.com/advisories/803 および npmjs.com/advisories/886。 これらの NPM パッケージの更新バージョンは、このバージョンの Visual Studio に含まれていました。
Visual Studio 2019 バージョン 16.0.8
リリース日: 2019 年 9 月 10 日
Visual Studio 2019 バージョン 16.0.8 で修正された問題
- アセンブリが関数のコードと一致しません
- 新しい SSIS プロジェクトの作成時に Visual Studio が応答を停止する
- エディターの使用を拡張した後に発生する UI のフリーズを修正しました。
セキュリティ アドバイザリ メモ
CVE-2019-1232 Diagnostics Hub Standard Collector Service の特権の昇格の脆弱性
Diagnostics Hub Standard Collector Service によって特定のファイル操作が適切に偽装されなかった場合に、特権の昇格の脆弱性が存在します。 この脆弱性の悪用に成功した攻撃者は、昇格された特権を取得できます。 脆弱なシステムへの特権のないアクセスを持つ攻撃者が、この脆弱性を悪用する可能性があります。 セキュリティ更新プログラムでは、Diagnostics Hub Standard Collector Service によってファイル操作が正しく偽装されるようにすることで、この脆弱性に対処します。
Visual Studio 2019 バージョン 16.0.7
リリース日: 2019 年 8 月 13 日
Visual Studio 2019 バージョン 16.0.7 で修正された問題
- ブレークポイントのヒット時とステップ実行時のパフォーマンスの低下を修正しました。
- IntelliTrace.exe が起動するときのパフォーマンスの低下を修正しました。
- TFS に接続できないときにクラッシュが発生するバグを修正しました。
- 16.0.1 にアップグレードしたときに、一部の C++ プロジェクトで発生する HRESULT E_FAIL ビルド エラーを修正しました。
セキュリティ アドバイザリ メモ
CVE-2019-1211 Git for Visual Studio の特権の昇格脆弱性
特権の昇格脆弱性は、Git for Visual Studio で構成ファイルが正しく解析されないときに存在します。 脆弱性の悪用に成功した攻撃者は、別のローカル ユーザーのコンテキストでコードを実行することができます。 脆弱性を悪用するには、認証された攻撃者が、アプリケーションが完全にインストールされる前に、システム上の Git 構成ファイルを変更する必要があります。 その後、攻撃者は、システム上の別のユーザーを利用して、特定の Git コマンドを実行させる必要があります。 この更新プログラムでは、構成ファイルの編集に必要なアクセス許可を変更することにより、問題が解決されています。
**CVE-2019-1301: .NET Core のサービス拒否の脆弱性
.NET Core によって Web 要求が不適切に処理されない場合、サービス拒否の脆弱性が存在します。 攻撃者がこの脆弱性を悪用して、.NET Core Web アプリケーションに対するサービス拒否を発生させる可能性があります。 この脆弱性はリモートで、認証なしで悪用できます。
この更新プログラムでは、.NET Core Web アプリケーションによる Web 要求の処理方法を修正することで、脆弱性に対処します。
Visual Studio 2019 バージョン 16.0.6
リリース日: 2019 年 7 月 9 日
Visual Studio 2019 バージョン 16.0.6 で修正された問題
- Windows 10 バージョン 1903 で実行されている、または .NET 4.8 がインストールされているシステムでのナレーターのサポートを修正しました。
セキュリティ アドバイザリ メモ
CVE-2019-1075 ASP.NET Core のなりすましへの脆弱性
本日 .NET Core の更新プログラムがリリースされ、この Visual Studio の更新プログラムに追加されました。 このリリースでは、セキュリティと、その他の重要な問題に対処しています。 詳細は、.NET Core のリリース ノートを参照してください。
CVE-2019-1077 Visual Studio 拡張機能の自動更新プログラムの脆弱性
Visual Studio 拡張機能の自動更新プロセスで特定のファイル操作が適切に処理されなかった場合、特権の昇格の脆弱性が存在します。 この脆弱性の悪用に成功した攻撃者は、任意の場所にあるファイルを削除できます。 この脆弱性を悪用するには、攻撃者が脆弱性のあるシステムに特権なしでアクセスできる必要があります。 セキュリティ更新プログラムでは、Visual Studio 拡張機能の自動更新でファイル操作が実行される場所を保護することで、この脆弱性に対処します。
CVE-2019-1113 WorkflowDesigner の XOML の逆シリアル化でコードが実行される場合がある
特定の型を参照する XOML ファイルを Visual Studio で開くと、ランダムなコードが実行される場合があります。 XOML ファイルで使用できる型に制限が設けられることになりました。 未承認のいずれかの新しい型が含まれる XOML ファイルを開くと、その型が未承認であることを示すメッセージが表示されます。
詳細については、https://support.microsoft.com/help/4512190/remote-code-execution-vulnerability-if-types-are-specified-in-xoml をご覧ください。
Visual Studio 2019 バージョン 16.0.5
リリース日: 2019 年 6 月 11 日
Visual Studio 2019 バージョン 16.0.5 で修正された問題
- 既知の問題の修正: デバッグ中に [診断ツール] ウィンドウのメモリ使用量ツールで C++ ネイティブ コードのスナップショットが作成されない。
- Visual Studio の読み込みのパフォーマンスの問題を改善しました。
Visual Studio 2019 バージョン 16.0.4
リリース日: 2019 年 5 月 14 日
Visual Studio 2019 バージョン 16.0.4 で修正された問題
- IIS へのアタッチで複数回プロンプトが表示される。
- FW 4.8 の更新後に WPF アプリケーションが破損する。
- typescript 3.3 をインストールするとバージョン 2.2 のコンパイルが無効になる。
- Visual Studio 2019 で複数のスタートアップ プロジェクトをアタッチするとデバッガーをアタッチできなくなる。
- 既知の問題: .NET Framework 4.8 Developer Pack をインストールすると VB プロジェクトのプロパティ ページのアプリケーション タブが破損する。
- コアな NuGet ファイルを上書きしようとすると Visual Studio 拡張機能のインストールに失敗する場合がある。
- オフライン インストーラーに microsoft.diagnosticshub.dotnetobjectalloc.vsix がない。
セキュリティ アドバイザリ メモ
CVE-2019-0727 Diagnostics Hub Standard Collector Service の特権の昇格の脆弱性
Diagnostics Hub Standard Collector Service によって特定のファイル操作が適切に処理されなかった場合に、特権の昇格の脆弱性が存在します。 この脆弱性の悪用に成功した攻撃者は、任意の場所にあるファイルを削除できます。 この脆弱性を悪用するには、攻撃者が脆弱性のあるシステムに特権なしでアクセスできる必要があります。 セキュリティ更新プログラムでは、Diagnostics Hub Standard Collector によってファイル操作が実行される場所を保護することで、この脆弱性に対処します。
Visual Studio 2019 バージョン 16.0.3
2019 年 4 月 30 日リリース
Visual Studio 2019 バージョン 16.0.3 の新機能
- Visual Studio Tools for Kubernetes では、最新の Azure Dev Spaces がサポートされるようになりました。
Visual Studio 2019 バージョン 16.0.3 で修正された問題
- Xamarin.Forms Android プロジェクトのソリューション エクスプローラーのコンテキスト メニューに削除オプションがない。
- Xamarin.Android: Android マニフェストの設定でターゲット フレームワーク 28 を選択できない。
- ファイルまたはアセンブリ 'Microsoft.VisualStudio.Web.PageInspector.Loader, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'、またはその依存関係の 1 つが読み込めない。 指定されたファイルが見つかりません。
- 新しいビューを作成しようとすると "選択したコード ジェネレーターを実行中にエラーが発生しました" と表示される。
- Android のアクセス許可リストが空になっている。
- Visual Studio 2019 の .axml ファイルのアイコンが表示されない。
- axml アイコンが表示されない。
- コアな NuGet ファイルを上書きしようとすると Visual Studio 拡張機能のインストールに失敗する場合がある。
- 定数式の C# switch ステートメントで不適切なコンパイラ エラーが発生する場合がある。
Visual Studio 2019 バージョン 16.0.2
2019 年 4 月 18 日リリース
Visual Studio 2019 バージョン 16.0.2 で修正された問題
- タイトル バーのソリューション名が切り詰められる。
- クラウド サービス プロジェクトをパッケージ化するときに警告の補間が不足している。
- 特定のケースで設定をリセットまたはインポートした後、Visual Studio の起動時にエラー メッセージが表示されなくなる。
- クラウド サービス プロジェクトの診断構成ウィンドウでの誤入力がスクリーン リーダーによって読み取られない、アクセシビリティの問題は修正されました。
Visual Studio 2019 バージョン 16.0.1
2019 年 4 月 9 日リリース
Visual Studio 2019 バージョン 16.0.1 で修正された問題
- 'モバイル アプリ (Xamarin.Forms)' プロジェクト テンプレートから新しい Xamarin.Forms プロジェクトを作成するときの Windows (UWP) プラットフォーム向け追加オプション。
- アップグレード後も Visual Studio 2019 の [ヘルプ] > [バージョン情報] ウィンドウのタイトルに 'RC' が表示される。
- Visual Studio 2019 を RC から GA に更新するときに、Visual Studio の RC のショートカットが残る。
- Visual Studio 2019 Preview 1.1 で UWP の Xamarin フォームを作成できない。
- Visual Studio 2019 で Preview 4.4 から 16.0 にアップグレードした後のパッケージの読み込みエラー。
Visual Studio 2019
リリース日: 2019 年 4 月 2 日
Visual Studio 2019 の新機能の概要
インストール
- Visual Studio の更新プログラムがバックグラウンドでダウンロードされるようになり、いっそう効率的になります。
- Visual Studio の更新プログラムのインストール モードを制御できます。
IDE
- 既定でインストールされる Visual Studio Live Share を使用して他のユーザーとの共同作業を行えます。 C++、VB.NET、および Razor に対する追加の言語サポートにより、ゲストはソリューション ビューを確認し、ソース管理の差異を共有できます。
- 新しいスタート画面を介して、最近作業していたコードを開いたり、使用頻度の高いフロー (プロジェクトを複製する、開く、作成するなど) のいずれかから開始したりすることができます。
- 人気度によって並べ替えられたテンプレート一覧を使用して、強化された検索エクスペリエンスやフィルターを備えた新規プロジェクトを作成できます。
- 新たに加えられた一連の、シェルでの視覚的な変更により、コード用の縦方向の空間が広くなり、最新のルック アンド フィールが提供されています。
- モニターごとの認識のサポートが強化されましたので、ご利用のディスプレイの構成やスケーリングに関係なく IDE をより鮮明に表示できます。
- Visual Studio 内で強化された、メニュー、コマンド、オプション、およびインストール可能コンポーネントに対する検索機能を使用できます。
- ドキュメントインジケーターを使用することで、ご利用のコード ファイルの "正常性" をすばやく把握できます。 インジケーターからのワンクリックでのコードのクリーンアップによって実行および構成を行うことができます。
- [オプション] ダイアログ内の新しいプレビュー機能ページを使用してオプトインしたプレビュー機能を簡単に管理できます。
- 新しいプロジェクトの作成で、タグに基づく検索が改善され、[最近使用したプロジェクト テンプレート] の一覧に簡単にアクセスできるようになります。
- Visual Studio での検索から新しいアイテムを直接作成でき、向上した関連性でいっそう速く結果が見つかります。
- 新しい通知エクスペリエンスにより、Visual Studio Live Share の要求などの重要な情報が常に提供されます。
- コードのクリーンアップ中に実行する修正機能を簡単に選択できるように、コード クリーンアップ修正機能のコレクションがプロファイルとして保存されます。
- 新しい .NET リファクタリングとコード修正がトリガーされます。
- ファーストクラスのプロジェクト ファイルを使用すると、.NET Core プロジェクトをより簡単に構成できます。
- [拡張機能と更新プログラム] ダイアログ ボックスで、プレビュー、有料、評価版のタグが付いた拡張機能の状態を確認できます。
- このプレビューでは既定値がリセットされたので、アクティブにする必要があるプレビュー機能を確認して構成できます。
- このリリースで非推奨としてマークされた特定のテスト ウィンドウ API を除外することで、拡張機能を最新の状態に保ちます。
- スタート ウィンドウを使用して、Azure DevOps からホストされているリポジトリにサインイン、参照、ワンクリックで複製または接続できます。
- 個人や組織によって所有されているリポジトリを表示するため、他のソース管理ホスト用の拡張機能をインストールできます。
- フィードバックに対応して、明るさの抑制、全体のコントラストの改善、その他の使いやすさの問題への対応が行われ、改善された青のテーマのエクスペリエンスを実感できます。
- dotnet 形式のグローバル ツールを使用して、コマンドラインからコードのスタイル設定を適用できます。
- MSBuild および Visual Studio では既定で .NET Framework 4.7.2 が対象とされるようになりました。
- サーバー エクスプローラーから Azure App Service 関連の機能が削除されました。代わりに Cloud Explorer で同等の機能を使用できます。
パフォーマンス
- ステップ実行速度やブランチ切り替え速度などに影響する Visual Studio の新しいパフォーマンス向上機能を使用して、ソリューションの読み込み方法を管理します。
- タスク ステータス センターにソリューション読み込みの進行状況が表示されます。
- ソリューション フィルター ファイルを使用して、開いているソリューションに対して読み込むプロジェクトを選択できます。
- 補助コンポーネントの影響を制限することで、お客様の入力のパフォーマンスが向上しています。
- プロジェクト階層の状態およびツール ウィンドウの状態の復元を無効にする新しいオプションの切り替えを行います。
- [Build Selection]\(ビルドの選択\) のショートカットが新しくなっています。また、新しい [すべてビルド] コマンドで CMake のすべてをすばやくビルドできます。
- CMake プロジェクトの C++ ファイル用の IntelliSense のパフォーマンスが向上しており、いっそう速くコーディングできます。
- 大規模な .NET Core ソリューションを読み込み、長時間使用した場合の大幅なメモリ削減をご確認ください。
- プロジェクトの新しいコンテキスト メニュー コマンドで、すばやくプロジェクトの依存関係を読み込むことができます。
- パフォーマンス センターでパフォーマンスのヒントを参照してください。
一般的なデバッグと診断
- デバッグを行いながら[ウォッチ]、[自動変数]、[ローカル] の各ウィンドウ内でキーワードを検索することができ、オブジェクトまたは値の検索能力が向上します。
- データを検査する際に [ウォッチ]、[自動変数]、[ローカル] の各ウィンドウで書式指定子のドロップダウンが表示されます。
- .NET Core との互換性を持つようになったカスタム ビジュアライザーを使用できます。
- モジュールと PDB を多数備えた大規模なアプリケーションをデバッグできます。
- カスタム引数を使用して Google Chrome を起動し、JavaScript アプリケーションのデバッグをすべて Visual Studio IDE 内で行うことができます。
- パフォーマンス プロファイラーで CPU および .NET オブジェクト割り当てツールのホット パスの強調表示を使用できます。
- .NET Core 3.0 以降のアプリケーションでデータ ブレークポイント (元は C++ 専用の機能) を使用して、特定のオブジェクトのプロパティ値を変更すると、中断できます。
- Preview 1 以降、自動変数、ローカル、ウォッチの各ウィンドウでの検索の UI を、より単純なインターフェイスに更新してきました。 詳細検索機能は、最初および後続の検索の詳細度をすばやく選択できるように、ドロップダウンに変更されています。
ソース管理とチーム エクスプローラー
- チーム エクスプローラーで Git 一時退避をサポートする Git ツールを使用して別のタスクで作業ができるように、変更内容を一時的に格納します。
- Visual Studio Market Place で使用可能なオプションの拡張機能 (Visual Studio 用のプル要求) をチェックアウトします。この拡張機能では、プル要求のレビューが Visual Studio に統合されます。
- ユーザー固有の作業項目ビュー、作業項目に基づくブランチの作成、#mentions を使用した作業項目の検索、インライン編集などの開発者ワークフローに重点を置いた新しい Azure DevOps 作業項目エクスペリエンスを使用しています。
拡張性
- NuGet パッケージで、単一の統一された Visual Studio SDK Microsoft.VisualStudio.SDK が使用できるようになりました。
- AsyncPackage が含まれるようになった、VSIX プロジェクトへの更新プログラムが利用できます。
- 新しく追加された空の VSIX プロジェクト テンプレートを使用して試してみることができます。
- 拡張機能が無料、有料、または評価版かどうかがわかるように、[拡張機能と更新プログラム] ダイアログ内に表示されるようになりました。
プログラミング言語
C#
C# コンパイラでサポートされるようになった 8.0 の言語機能のプレビューをお試しください。
- Null 許容参照型: この機能が有効な場合 (たとえば
#nullable enable
、またはプロジェクトレベルの<NullableContextOptions>enable</NullableContextOptions>
を使用)、?
の注釈が付けられている参照型は Null 許容として扱われ、それ以外の場合は NULL 非許容として扱われます。 次に、コンパイラによって NULL 値のフロー先が分析され、安全ではない可能性がある使用法について警告されます。 switch
式: 式コンテキストでswitch
などのセマンティクスを提供します。- 再帰的なパターン マッチング: 新しいパターンでは、(タプルまたは分解の) フィールド/プロパティと位置要素をテストできます。
- 範囲の
x..y
リテラル構文を含め、スライスのために CoreFX で使用されているRange
型とIndex
型のサポート。 IAsyncEnumerable<T>
で表される非同期ストリームは、await foreach
使用して非同期に列挙できます。また、async IAsyncEnumerable<T>
反復子メソッドで生成できます。using
宣言: 入れ子のレベルを増やさずに、現在のブロックの末尾にあるものを破棄します。ref
構造体は、パブリックDispose()
メソッドを実装することで破棄できます。static
ローカル関数:static
のマークが付いたローカル関数は、this
またはその外側の関数内の変数を参照できません。- ローカル関数とラムダは、外側の関数の変数名を隠すパラメーターとローカルを宣言できるようになりました。
- NULL 合体代入:
x ??= y;
は、x
がnull
の場合にのみ、y
をx
に代入します。
詳細については、Mads の C# 8.0 の概要に関する記事を参照してください。
詳細については、C# 言語機能の状態と破壊的変更に関する記事を参照してください。
さらに、Visual Studio の既定で使用できる新しい C# 言語機能はその他にもあります。
C++
- Visual Studio IntelliCode (コードに対して AI 支援の推奨事項が表示されるオプションの拡張機能) を使用することにより、C++ および XAML コードを記述する際に時間が節約されます。
- エディター内でコード分析の警告が表示されます。 コード分析はバックグラウンドで自動的に実行されて、警告が緑の波線として表示されます。
- ピーク ウィンドウ UI が使用され、入れ子になったテンプレートがサポートされている、新しいテンプレート バーを試してください。
- C++ Lifetime プロファイル チェッカーの新しい更新された実装を実行できます。
- CMakeSettings.json の代わりになる新しい CMake 設定エディターを使用して CMake プロジェクトを構成できます。
- OpenMP SIMD ベクター化、リンク時のスピードアップ、よりアグレッシブなインライン化など、さまざまなバックエンドの機能強化を試してください。
- CMakeGUI などの外部ツールや、カスタマイズされたメタビルド システムによって生成された既存の CMake キャッシュを開けるようになりました。
- Spectre Variant 1 のリスク軽減サポートを提供するため、/Qspectre を使用した分析が強化されました (CVE-2017-5753)。 詳細については、Visual C++ チームのブログ記事を参照してください。
- テンプレートの IntelliSense の [テンプレート] バーに [直前に使用] ドロップダウンが追加され、以前のサンプル引数とすばやく切り替えることができます。
F#
- F# 4.6 がリリースされ、さまざまなコンパイラの機能強化が追加されています。
- 大規模なソリューションのパフォーマンスの向上と F# および F# ツールのさまざまなバグ修正を行いました。
- オープン ソースの共同作成者たちが F# 言語とツールに貢献した素晴らしい作業内容をご確認ください。
JavaScript/TypeScript
- Node.js プロジェクトで単体テストをデバッグできます。
- NuGet と npm パッケージから TypeScript プロジェクトを構築するユーザーのためのサポートが追加されています。
Python
- Python の [環境を追加] ダイアログを使用して、Python の仮想環境および conda 環境を容易に追加できます。
- 新しい Python 環境セレクター ツールバーによる [フォルダーを開く] ワークスペースのサポートの向上など、Python 環境での作業がいっそう容易になっています。
- Visual Studio Live Share セッションを作成し、他の Visual Studio ユーザーと Python コードで共同作業できます。
Web テクノロジ
- .NET Core 3.0 プロジェクトを操作するために追加されたサポートを活用します。
- ASP.NET の CPU プロファイルをチェックアウトします。
- Virtual Machines、Virtual Machine Scale Sets、および Azure Kubernetes Service 上で実行されている .NET Web アプリに対してスナップショット デバッガーを使用します。
- Visual Studio Kubernetes ツールを使用して、Kubernetes 用のコンテナー アプリケーションを開発します
- 作業項目割り当てのインライン サポートや、#mentions エクスペリエンスの向上など、Azure DevOps 作業項目エクスペリエンスが強化されています。
- プロジェクト ファイルに関する作業がいっそう簡単になり、.NET Core ツール用のコンソール アプリのエクスペリエンスが向上しています。
- すべてのアプリに対する発行プロファイルの概要のエクスペリエンスが強化されています。 さらに、アプリを Azure App Service に発行するときに、[依存関係] という名前の新しいセクションを使用できるようになりました。
- 新しい ASP.NET アプリケーションを作成するときに、ビジュアルの機能強化を実感できます。
- 既存の Azure Functions の発行プロファイルに発行資格情報を再提供できます。
コンテナー ツール
Xamarin によるモバイル開発
- Xamarin ワークロードのサイズが減り、新規プロジェクトの作成時のパフォーマンスが改善されたため、よりすばやく作業を始められます。
- いっそう詳細なビルドの進行状況の情報が表示されます。
- IntelliCode と Xamarin.Forms XAML を一緒に使用できます。
- Xamarin.Forms プレビューアーの新しい基本プレビュー モードを使用すると、先にプロジェクトをビルドせずに、プレビューされた XAML を確認できます。
- 新しい Xamarin.Forms Previewer デバイス ドロップダウンを使用すると、さまざまなデバイスで Xamarin.Forms XAML をプレビューできます。
- Xamarin.Forms コントロール用の新しいプロパティ パネルをチェックアウトできます。
- 新しく追加された Xamarin.Forms 用のシェル テンプレートを使用できます。
- Xamarin.Android の初回ビルドおよびインクリメンタル ビルドのパフォーマンス改善を体験できます。
- 配置ターゲット メニューを使用して、新しい Android エミュレーターを作成できます。
- Xamarin.Android でのビルドの機能強化により、ビルドが高速化されています。
- Xamarin.Android で Fast Deployment が強化され、d8/r8 がサポートされるようになっています。
- 生産性が強化された Xamarin.Android Designer を活用できます。
- 制約レイアウトの初期サポートを含む Xamarin.Android Designer の機能強化を試してください。
- [定義へ移動] の使用および Android リソース ファイルの XML IntelliSense/オートコンプリートの機能強化により、Xamarin.Android Designer での生産性が向上しています。
ユニバーサル Windows プラットフォーム (UWP)
- デザイナーから編集を行ったときに、コメント、空白文字、名前空間、およびその他のテキスト変更が保持されます。 パッケージ マニフェスト デザイナーで、Package.appxmanifest ファイルの XML に対する変更が厳密に維持されるようになりました。
- .NET Core プロジェクトに Windows アプリケーション パッケージ プロジェクトを使用して、MSIX パッケージを生成できます。
- パッケージ作成ウィザードで、Microsoft Store に直接送信できます。
- Visual Studio 2019 では Windows Mobile デバイスへの展開はサポートされなくなりました。 Windows 10 Mobile デバイスに展開しようとすると、"Visual Studio 2019 では、Windows Mobile デバイスへの展開はサポートされていません" というエラーが発生します。 Windows 10 Mobile デバイス用のアプリケーションで引き続き作業する必要がある場合は、Visual Studio 2017 を引き続きご使用ください。
XAML 用のデバッグ ツール:
- XAML エディット コンティニュでの x:bind (UWP) のサポート開始: XAML のエディット コンティニュで、パブリック プロパティ、要素名、インデックス付きプロパティ パス (コレクション)、添付プロパティ、およびキャスト プロパティを含むパスの x:bind で作成されたデータ バインディングの編集がサポートされるようになりました。 その他の変更はサポートされていません。 この拡張機能は、最小バージョンと最大バージョンが Windows 10 SDK バージョン 1809 (ビルド 10.0.17763) 以降を対象とするすべてのアプリで使用できます。 (注: XAML のエディット コンティニュは、Visual Studio 2019 Update 2 以降では XAML ホット リロードと呼ばれるようになりました)。
SQL Server Data Tools
- UTF-8 照合順序のサポートが追加された最新の SSDT と DacFX をご利用ください。
Visual Studio 2019 の新機能の詳細
インストール
- Visual Studio の更新プログラムのインストール方法を選択できるようになりました。 既定のモードは "全部ダウンロードしてからインストールする" であり、更新プログラムがダウンロードされている間も Visual Studio を使用することができます。 [全部ダウンロードしてからインストールする] を選択する場合は、Visual Studio インストーラーを開いて [続行] を選択し、インストールを完了する必要があることに注意してください。
- Visual Studio の更新プログラムは、バックグラウンドでダウンロードされます。 これらのダウンロードは、コンピューターがアイドル状態のときにのみ行われます。 ダウンロードが完了すると、ダウンロードをインストールする準備ができたことが、Visual Studio 内で通知されます。
- [ツール] > [オプション] メニューから [製品の更新プログラム] ページで設定を変更することにより、更新プログラムのインストール モード、および更新プログラムをダウンロードするかどうかを制御できます。
スタート ウィンドウ
新しいスタート画面では、Visual Studio の起動時にご自分のコードにすばやくアクセスするのに役立つ効率化されたラウンチ エクスペリエンスが提供されています。
- 最近使ったプロジェクトとフォルダーを表示し、1 回のクリックでそれらを開くことができます。 コンテキスト メニューからリストの項目をピン留めし、リストから項目を削除することができます。
- 公開されている、または非公開の git URL を使用してコードを複製またはチェックアウトします。これにより、IDE でフォルダーも自動的に開かれます。
- Azure DevOps からホストされているリポジトリへのサインイン、参照、および 1 クリックの複製、または接続できます。また、個人や組織によって所有されているリポジトリを表示するため、他のソース管理ホスト用の拡張機能をインストールできます。
- ご利用のローカル ディスクまたはネットワーク共有内でプロジェクト、ソリューション、またはコードが含まれている任意のフォルダーを参照し、IDE でそれらを開くことができます。
- 新しいプロジェクトまたはソリューションを開始するときに役立つコードのスキャフォールディングを提供するプロジェクト テンプレートを選択できます。
- タイトル、説明、およびタグでプロジェクト テンプレートを検索できます。また、使用できる言語、プラットフォーム、およびプロジェクトの種類でフィルターできます。 既定の一覧には使用可能なすべてのテンプレートが表示される一方、左側のウィンドウには最近使用した上位 10 個のプロジェクト テンプレートの一覧が表示されてすぐにアクセスできます。 2 ページのウィザードにより、一度に 1 つの意思決定に集中することができます。
シェルとプラットフォーム
- 改善された新しい製品アイコンを使用して、開かれ使用されている Visual Studio のバージョンをすばやく見つけることができます。 この新しいアイコンは、さまざまな背景に対してもよりわかりやすくなっています。
- 青のテーマの更新により実現された Visual Studio の最新のルック アンド フィールを体験できます。Microsoft のユーザー補助の標準を引き続き満たしながら、より明確なユーザー インターフェイスが提供されています。
- 簡潔さを目標とし、IDE 内の垂直方向の領域を再利用するという変更により、コードがより見やすくなります。 既存の機能を維持しながら、タイトル バーとメニュー バーを結合しました。
- 試験段階の新しい設定を介して Visual Studio をモニターごとの認識アプリケーションとしてを使用できます。 この設定が有効になっている場合、ご利用のディスプレイの構成またはスケーリングに関係なく、シェルやエディターなどの Visual Studio のパーツをより鮮明にレンダリングすることができます。
- メニュー、コマンド、オプション、およびインストール可能なコンポーネントにわたる強化された検索エクスペリエンスを体験できます。 新しい検索では、結果が動的に表示され、スペル ミスに対応し、検索結果に関連情報 (キーボード ショートカットなど) が提供されるようになりました。
- ドキュメントの正常性インジケーター機能によって、現在開いているファイルに関連付けられた正常性に関する情報を確認できます。
- C# の開発者は、コードのクリーンアップを使用して、コーディングの最も一般的な提案事項の一部を迅速にクリーンアップすることができます。
- コードのクリーンアップを構成することで、実行させたい修正機能のセットを選択できます。
- クリップボード リングを展開するコンテキスト メニューを介して、ご利用のクリップボード履歴の内容を確認できます (Ctrl + Shift + V)。
- 検索のエクスペリエンスが次のように改善されました。
- メニュー、コンポーネント、テンプレートのフィルターが追加されました
- 最も関連のある検索結果が得られるように、検索の選択が組み込まれました
- Visual Studio の検索から直接、新しいプロジェクト/アイテムを作成してソリューションに追加できるようになりました
- 最低限の要件のセット (.NET 4.8 Preview および Windows 10 April 2018 Update 以降) を満たすユーザーの場合、向上したモニターごとの認識 (PMA) エクスペリエンスが既定で有効になります。 [ツールボックス]、[ブレークポイント]、[ウォッチ式]、[ローカル]、[自動変数]、[呼び出し履歴] などのツール ウィンドウは PMA に変換されており、表示の構成やスケーリングに関係なく鮮明にレンダリングされます。
- 新しい通知エクスペリエンスで次のものが追加されています。
- ステータス バーへの新しいアイコンおよびカウンターのエクスペリエンス
- 新しいトースト通知メカニズム
- Visual Studio の更新プログラムと Visual Studio のライセンス有効期限切れの通知
- フィードバックに対応して青のテーマのエクスペリエンスが修正され、明るさの抑制、コントラストの改善、その他の使いやすさの問題への対応が行われています。
- ツール バー領域で使用できる空きスペースをドラッグ可能領域として利用することで、ウィンドウのドラッグ機能が強化されています。
- コード クリーンアップ修正機能のコレクションをプロファイルとして保存できるようになったため、コードのクリーンアップ中に実行する修正機能のセットをすばやく選択できます。
- 拡張機能がプレビュー状態か、有料か、または試用期間内かをすばやく理解するのに役立つタグが、[拡張機能と更新プログラム] ダイアログに追加されました。
- Visual Studio 2019 以降にデータ ヒントを実装する方法としては、現在 IAsyncQuickInfoSourceProvider を推奨しています。 レガシ エディター クイック ヒント API である IVsTextTipData および TextTipData は、Visual Studio 2019 Preview 1 では非推奨となっています。
- エディター スマート タグ (Microsoft.VisualStudio.Language.Intellisense 名前空間内の ISmartTag * インターフェイス ファミリ) は非推奨とされ、代わりに LightBulb API が使用されるようになりました。このエディター スマート タグは、Visual Studio 2019 Preview 1 以降ではサポートされなくなりました。
- ソリューション オプションである [ビルド構成の詳細を表示]、[常にソリューションを表示]、および [新しいプロジェクトを作成時に保存する] は、使用率が低いことが原因で削除されました。 これらの値は、既定値の True に設定されています。
- [ツール] > [オプション] > [環境] > [プレビュー機能] の順に選択すると表示される新しいプレビュー機能ページを使用して、特定のプレビュー機能に対するオプトインまたはオプトアウトを行うことができます。
パフォーマンス
- フォルダーとソリューションのビルドの選択に、新しいショートカットが追加されました: Ctrl + B。
- すべてのプロジェクトをアンロードしてソリューションを読み込むことで、大規模なソリューションを素早く開くことができます。
- ソリューション フィルター ファイルを使用して、開いているソリューションに読み込むプロジェクトを選択します。
- ソリューション フィルター ファイルを作成するには、自動的に開かれないようにしたいプロジェクトをアンロードし、ソリューションを右クリックして、[ソリューション フィルターとして保存] を選択します。 次に、フィルター ファイルを使用して、その後の使用のためにソリューションを開くことができます。
- CMake ファイルをすべてビルドするコマンドが追加されました: Ctrl + Shift + B。
- CMake プロジェクトに含まれる C++ ファイルでの IntelliSense のパフォーマンスが向上しました。
- アンロードされたプロジェクトの依存関係を読み込むコマンドが、プロジェクトとソリューションのコンテキスト メニューに追加されました。
- Visual Studio のパフォーマンスの向上に関する通知ヒントが、パフォーマンス センターで常に示されるようになりました。[ヘルプ] > [Visual Studio のパフォーマンスの管理] でアクセスできます。
- ソリューションの読み込み完了時のアラートだけでなく、タスク ステータス センターにソリューション読み込みの進行状況も表示されるようになりました。
- ソリューション フィルター ファイルを使用して、開いているソリューションに読み込むプロジェクトを選択します。
- ソリューション フィルター ファイルを作成するには、自動的に開かれないようにしたいプロジェクトをアンロードし、ソリューションを右クリックして、[ソリューション フィルターとして保存] を選択します。 次に、フィルター ファイルを使用して、その後の使用のためにソリューションを開くことができます。
- フォルダーを開くシナリオで Ctrl + T キーを押すと、強化されたビルド アセット検出とファイル検索を体験できます。
- 入力時のパフォーマンスに対する補助コンポーネントの影響が Visual Studio エディターによって制限されるようになったことよるパフォーマンス向上に注目してください。 特に、入力の際には不要な操作である長時間実行は自動的にキャンセルされます。
- Visual Studio 補助コンポーネントの制限動作を構成するには、[ツール] > [オプション] > [テキスト エディター] > [詳細設定] の順に選択します。
- ソリューション エクスプローラーのツール ウィンドウで、前のセッションからのプロジェクト階層状態の復元を無効にできるようになりました。 ソリューションを開くときに前のセッションからプロジェクト階層を復元するとソリューションの読み込みが遅れる可能性があるために、この変更を実装しました。
- このオプションの切り替えは、[ツール] > [オプション] > [プロジェクトおよびソリューション] > [全般] で行います。
一般的なデバッグと診断
デバッグ全般
- [ウォッチ]、[自動変数]、[ローカル] の各ウィンドウに統合した新しい検索機能を使用すると、キーワードによって強調表示、検索、移動を行うことができます。
- リストされた項目にコンマを追加することで、[ウォッチ]、[自動変数]、および [ローカル] の各ウィンドウ内のデータを書式設定する指定子およびオプションのドロップダウンが表示されます。
- .NET Core 用のカスタムおよび DataSet ビジュアライザーのサポートを使用できるようになりました。
- Windows 上で実行される C++ アプリケーションの場合、PDB は別個の 64 ビット プロセスで読み込まれるようになりました。 この変更では、モジュールと PDB が多数含まれているアプリケーションをデバッグするときにメモリ不足が原因で発生するさまざまなクラッシュに対処しています。
マネージド データ ブレークポイント
.NET Core (3.0 以上) アプリケーションでデータ ブレークポイント (元は C++ 専用の機能) を使用して、特定のオブジェクトのプロパティ値を変更すると、中断できるようになりました。 以前のオプションでは、その関数を呼び出す数百のオブジェクトがある場合、持続的、無関係な中断が発生する可能性があるのに対し、これはデータ ブレークポイントが "特定" のオブジェクトのプロパティに、それが範囲外であってもフォーカスできるため、プロパティのセッターにブレークポイントを配置するための優れた代替手段となります。
ウォッチ ウィンドウの検索 UX の更新
自動変数、ローカル、ウォッチの各ウィンドウでの検索の UI を、より単純なインターフェイスに更新してきました。 詳細検索機能は、最初および後続の検索の詳細度をすばやく選択できるように、ドロップダウンに変更されています。
コード スタイル設定の適用
- dotnet 形式のグローバル ツールを使用して、コマンドラインからコードのスタイル設定を適用できるようになりました。 インストールには、.NET Core 2.1 SDK 以降が必要になります。 お使いの端末で次のコマンドを実行します。
dotnet tool install -g dotnet-format --version 3.0.0-beta4-19105-10
拡張性
- V1 vsixmanifest の拡張機能の形式でビルドされた拡張機能を Visual Studio 2019 にインストールできなくなります。 V1 は Visual Studio 2010 で導入されましたが、Visual Studio において信頼性の問題が発生する可能性があったために、Visual Studio 2017 で非推奨とされました。 Visual Studio 2019 では、V1 のサポートは完全に削除されています。 Visual Studio 2019 を対象とする拡張機能は、V2 または V3 の vsixmanifest 形式で再ビルドする必要があります。
- これで、拡張機能が自動で同期的に読み込まれると、通知されるようになります。 拡張機能は、このリリースでは通常どおり読み込まれて動作しますが、次の Visual Studio 2019 更新プログラムでは機能しないおそれがあるので注意してください。 詳細については、拡張機能の自動ロード動作を更新することによる重要なシナリオの反応性の改善するに関するブログ記事を参照してください。
統一された SDK NuGet パッケージ
以前は、拡張機能の作成者は、その拡張機能で使用するために必要な Visual Studio SDK の個々 の NuGet パッケージに多数の個別の参照を作成する必要がありました。 さまざまなパッケージのバージョンが必ずしも一致しておらず、その結果、コンパイル時と実行時に依存関係の競合問題が発生していました。
これらの問題を解決するには、Microsoft.VisualStudio.SDK という名前の新しいパッケージを使用します。このパッケージには、Visual Studio SDK を構成するすべてのパッケージの依存関係が含まれています。 これによりバージョンの不一致の問題が解決され、使用するバージョンがわかりやすくなります。 拡張機能でサポートされる Visual Studio の最小バージョンに対応するパッケージのバージョンを使用するだけで、SDK 全体にアクセスできるようになります。
現在のところ、存在するのは SDK パッケージのバージョン 15.9 のみですが、バージョン 14.0 まですべてに対応するバージョンを今後数か月にわたってリリースする予定です。
新規および更新されたプロジェクト テンプレート
VSIX プロジェクト テンプレートは、複数の更新を経て、簡略化されて使いやすくなりました。
- 新しく統一された SDK NuGet パッケージが使用されます
- AsyncPackage クラスが含まれます
- パッケージをコンパイルするのに .resx ファイルは不要になりました
- .NET Framework 4.7.2 をターゲットとします
新しい空の VSIX プロジェクト テンプレートが作成されました。これは VSIX プロジェクト テンプレートと同じですが、AsyncPackage クラスを持ちません。 また、MEF 拡張機能とその他のパッケージのない拡張機能の種類にとって最適な開始点を提供する統合された SDK NuGet パッケージも参照します。
無料/有料/評価版
これまで拡張機能が無料、有料、または評価版なのかを確認する簡単な方法がありませんでした。 [拡張機能と更新プログラム] ダイアログ内に、各拡張機能が無料、有料、または評価版なのかが明確に表示されるように変更されました。 評価版または有料のラベルのない拡張機能は無料です。
テスト ツール
以前はドキュメントに記載されていませんでしたがパブリックとしてマークされていたテスト ウィンドウの追加 API が、非推奨リストに追加されました。
ソース管理
- チーム エクスプローラーの Git ツールで Git 一時退避がサポートされるようになったので、変更内容を一時的に格納して別のタスクで作業ができるようにします。
- Visual Studio 2019 内の新しいプル要求エクスペリエンスを使用すると、IDE を離れなくても、Azure Repos からプル要求を確認、実行、さらにデバッグすることができます。 作業を開始するには、Visual Studio 用のプル要求拡張機能を Visual Studio Marketplace からダウンロードします。
MSBuild
- MSBuild ツールセットのバージョンは、
15.0
からCurrent
に変更されました。MSBuild.exe
は、現在%VSINSTALLDIR%\MSBuild\Current\Bin\MSBuild.exe
にあります。 - MSBuild (および Visual Studio) では、.NET Framework 4.7.2 が対象とされるようになりました。 MSBuild API の新しい機能を使用したい場合は、ご利用のアセンブリもアップグレードする必要があります。ただし、既存のコードは引き続き機能します。
C#
Visual Studio 2019 より前のすべてのリリースでは、既定の C# 言語バージョンは常に最新のメジャーと同等でした。 Visual Studio 2017 では、C# は 3 つのマイナー バージョン (7.1、7.2、7.3) を進化させ、リリースしました。 ただし、新しいプロジェクトはまだ C# 7.0 が既定値でした。 これは、新機能を使用したくても新しいプロジェクトごとに言語のバージョンを手動で変更しなければならない C# 開発者にとって悩みの種でした。
この問題に対処するために、既定の C# 言語バージョンは、そのターゲット フレームワークによって決まります。
- .NET Core 3.0 プレビューをターゲットにしている場合、C# 言語のバージョンは C# 8.0 プレビューになります。
- .NET Framework または .NET Core の非プレビュー バージョンをターゲットにしている場合、C# 言語バージョンは C# 7.3 になります。
これで、既定で最新の安定した C# 言語機能を使用できるようになります。また、.NET Core プレビューを使用する場合は、.NET Core 3.0 プレビューと一致する C# 8.0 プレビュー言語機能を使用できます。
プロジェクトまたはプロパティ ファイルで LangVersion
を使用して言語バージョンを指定した場合、その言語バージョンは前述の既定値をオーバーライドします。
C++
- Visual Studio Live Share で C++ がサポートされるようになったことから、リアルタイムでの共同作業が可能です。
- オプションの拡張機能である IntelliCode を使用して時間を節約できます。この拡張機能では、高度なトレーニングとご利用のコード コンテキストを使用して、入力候補一覧の上部に使用頻度が高いものが配置されます。 C++ の場合、STL のような一般的なライブラリを使用しているときには、IntelliCode からほとんどのヘルプが提供されます。
- 更新した [新しいプロジェクト] ダイアログ ボックスに合わせて、プロジェクト テンプレートの名前と説明をいくつか変更しました。
- 実験段階の Clang/C2 コンポーネントを削除しました。 /permissive- または /std:c++17 に完全に準拠した C++ 用の MSVC ツールセットを使用するか、Windows 用の Clang/LLVM ツールチェーンを使用します。 詳細については、Visual C++ チーム ブログに関するページを参照してください。
- C++ コンパイラ/Gm スイッチは非推奨になりました。 ご自分のビルド スクリプト内の /Gm スイッチが明示的に定義されている場合は、それを無効にすることを検討してください。 あるいは、"警告をエラーとして扱う" (/WX) を使用しているとき、/Gm の非推奨化に関する警告はエラーとして扱われないので無視してもかまいません。
- C++ Android エクスペリエンスは、既定では Android SDK 25 および Android NDK 16b となりました。
生産性
- コード分析がバックグラウンドで自動的に実行されるようになりました。 エディターでの入力時に緑色の波線で警告が表示されます。
- テンプレート バーで、モーダル ウィンドウではなくピーク ウィンドウ UI が使用され、入れ子になったテンプレートがサポートされ、ピーク ウィンドウに既定の引数が設定されるようになりました。
- 該当する行の電球メニューから、NULL->nullptr コード分析の警告 (C26477 USE_NULLPTR_NOT_CONSTANT) の自動修正を使用できます。これは、C++ Core Check 型の規則ルールセットにおいて既定で有効になります。 IDE でのその他のクイック修正としては、足りない #include ディレクティブの追加、足りないセミコロンの修正、"*" と "&" の正しくない使用の修正などがあります。
- C++ コンソール アプリとデスクトップ アプリに対して、プリコンパイル済みヘッダーが既定では生成されなくなりました。
- "定義へ移動" が #include ディレクティブで動作するようになり、対応するファイルが開かれます。 これには F12 のショートカットが含まれ、コード内を簡単に移動できます。
- コード ブロックの右中かっこをポイントすると、そのブロックのコンテキストに関して役に立つ情報が提供されます。
- <ミューテックス> ヘッダーの既知の STL 型に対する ConcurrencyChecker のサポートが追加されました。
- Lifetime プロファイル チェッカーの更新された部分的な実装を、未解決のポインターと参照を検出するために使用できます。
- 3 方向の比較に対する C++20 の演算子 <=> ("宇宙船") の初期サポートがコンパイラに追加されました。
CMake
- CMake プロジェクトの C++ ファイル用の IntelliSense のパフォーマンスが向上しました。
- Visual Studio では、Linux コンピューター上に互換性のある CMake のバージョンがあるかどうかが検出されることにより、Linux で CMake による C++ の開発を始めやすくなりました。 ない場合は、インストールすることができます。
- CMake 設定エディターでは、CMakeSettings.json の代わりになるもの、および CMakeGUI と同等の機能が提供されます。
- CMake メニューが削除され、プロジェクトおよびソリューションといっそうよく一致するように再編成されました。
- CMakeSettings での互換性のない設定 (アーキテクチャの不一致や、互換性のない CMake ジェネレーターの設定など) に対しては、JSON エディターおよびエラー一覧のエラーで波線が表示されます。
vcpkg integrate install
を実行した後は、vcpkg ツール チェーンが自動的に検出され、IDE で開かれる CMake プロジェクトに対して有効になります。 この動作は、CMakeSettings で空のツールチェーン ファイルを指定することによりオフにできます。- CMake プロジェクトでは、"マイ コードのみ" デバッグが既定で有効になるようになりました。
- CMake プロジェクトのスタティック分析の警告をバックグラウンドで処理し、エディターに表示できるようになりました。
- CMake プロジェクトのビルドと構成の "開始" および "終了" に関するいっそう明確なメッセージと、Visual Studio のビルドの進行状況 UI のサポートが追加されました。 さらに、出力ウィンドウに表示される CMake のビルドおよび構成に関するメッセージの詳細レベルをカスタマイズできる CMake の詳細さの設定が、[ツール] > [オプション] に追加されました。
- CMake のコマンド ラインを手動で変更することなくツールチェーンを指定するための "cmakeToolchain" の設定が、CMakeSettings でサポートされるようになりました。
バックエンド
- ファイル I/O のリンカーの処理や、PDB タイプのマージと作成のリンク時間など、ビルドのスループットの向上が実装されました。
- OpenMP SIMD ベクター化の基本的なサポートが追加されました。 これは、新しい CL スイッチ -openmp:experimental で有効にできます。 これにより、"#pragma omp simd" で注釈が付けられたループをベクター化できる可能性があります。 ベクター化は保証されておらず、注釈が付けられていてもベクター化されていないループに対しては警告が報告されます。 SIMD 句がサポートされていない場合、それらは単に無視され、警告が報告されます。
- 新しいインライン展開コマンド ライン スイッチ -Ob3 が追加されました。これは、-Ob2 よりいっそう積極的なバージョンです。 既定では -O2 (速度向上のためバイナリを最適化する) はまだ -Ob2 になります。コンパイラのインライン展開が不十分な場合は、-O2 -Ob3 を渡してみてください。
- 数値演算ライブラリ関数および整数除算などの他の特定の演算の呼び出しを含むループの手動ベクター化をサポートするため、128 ビット、256 ビット、または 512 ビットの同等のベクターを計算する Short Vector Math Library (SVML) 組み込み関数のサポートが追加されました。 サポートされている関数の定義については、Intel 組み込みガイドをご覧ください。
- 新規および改良された最適化:
- float と integer の両方の形式に対する、SIMD (ベクター) 組み込み関数を使用する式の定数折りたたみと計算の簡略化
- 常に true または false になることがわかっている分岐を削除するために制御フロー (if/else/switch ステートメント) から情報を抽出するためのいっそう強力な分析
- SSE2 ベクター命令を使用するための memset アンローリングの向上
- 意味のない構造体/クラスのコピーの削除の向上、特に値渡しの C++ プログラムの場合
- memmove (std::copy や std::vector と std::string 構造など) を使用するコードの最適化の向上
廃止予定
- マネージド C++ テスト プロジェクト テンプレートは使用できなくなります。 既存のプロジェクトではマネージド C++ テスト フレームワークを引き続き使用できますが、新しい単体テストでは、Visual Studio でテンプレートが提供されているネイティブ テスト フレームワークのいずれか (MSTest、Google Test) またはマネージド C# テスト プロジェクト テンプレートの使用を検討してください。
- Visual Studio インストーラーでは Windows 8.1 SDK を使用できなくなりました。 最新の Windows 10 SDK に C++ プロジェクトをアップグレードしてください。 8.1 に対するハードな依存関係がある場合は、Windows SDK アーカイブからダウンロードできます。
- 最新の C++ ツールセットでは、Windows XP を対象にできなくなります。 VS 2017 レベルの MSVC コンパイラとライブラリによる VS の対象指定はまだサポートされており、[個別のコンポーネント] を使用してインストールできます。
- ドキュメントでは、Visual C++ ランタイムの配置に対してマージ モジュールを使用しないよう強く推奨されています。 このリリースでは、MSM を非推奨にするための追加手順が行われています。 VCRuntime の集中配置を MSM から再頒布可能パッケージに移行することを検討してください。
- 次の C++ ATL/MFC ウィザードは使用できなくなりました。 ATL COM+ 1.0 コンポーネント ウィザード、ATL Active Server Pages コンポーネント ウィザード、ATL OLE DB プロバイダー ウィザード、ATL プロパティ ページ ウィザード、ATL OLE DB コンシューマー ウィザード、MFC ODBC コンシューマー、ActiveX コントロールからの MFC クラス、TypeLib からの MFC クラス。 これらのテクノロジのサンプル コードは、VCSamples GitHub リポジトリにアーカイブされています。
F#
Visual Studio 2019 で F# は、主に 3 つの分野で機能が強化されています。
- F# 4.6
- 中規模および大規模ソリューションのパフォーマンスの大幅な向上
- 優秀なオープン ソース コミュニティによる多数のオープン ソース作業
F# 4.6
このリリースには、F# 4.6 言語が含まれます。
- 完全なツールのサポート、Fable コンパイラを介して JavaScript オブジェクトに型を発行する機能を含め、匿名のレコード型が言語に追加されました。
- Option 型と同等の ValueOption 型および ValueOption モジュール関数.
- Grzegorz Dziadkiewicz によって提供された配列、リスト、シーケンスに対する tryExactlyOne 関数。
F# コンパイラと FSharp.Core の機能強化
F# とコンパイラ、そして FSharp.Core は、特にオープン ソースの共同作成者たちが貢献し、数多くの機能が強化されました。
- fsi.exe と fsc.exe の既定値が .NET Framework 4.7.2 になり、これ以前のフレームワークをターゲットとするコンポーネントが読み込めるようになりました (#4946)。
- 実行する構造体および構造体レコード上のメソッドと、クラスおよびクラスに基づくレコード上のメソッドを最適化しました (#3057)。
- F# コードで結合されたブール ロジックに対して出力される IL を最適化しました (#635)。
- F# の文字列で
+
を使用したときに呼び出されるString.Concat
が可能な限り少なくなるように最適化されました (#5560)。 - テスト アセットがある余分なディレクトリがいくつか含まれる FSharp.Core パッケージの問題を修正しました。 FSharp.Core 4.5.5 および 4.6.1 にはこの修正が含まれています (#5814)。
- ユーザー定義の属性が
Attribute
クラスから継承されていない場合、警告が届くようになりました (Vasily Kirichenko)。 - プロジェクト ファイル内の
AssemblyInformationVersionAttribute
値で、SourceLink などのシナリオをサポートする任意の値がサポートされるようになりました (#4822)。 - アクティブ パターンに構文上の誤りがある場合に内部コンパイラ エラーが発生するというバグが Steffen Forkmann によって修正されました (#5745)。
- 唯一の違いがジェネリック パラメーターである型と一致させるために、再帰的なモジュール内のモジュールに
Module
サフィックスが誤って追加されるというバグが BooksBaum によって修正されました (#5794)。 - 型パラメーターが型名の横にないときのエラー メッセージに対する改善内容が Alan Ball によって改善されました (#4183)。
- Teo Tsirpanis によって、数値リテラルが無効な場合に生じるエラー メッセージ内に
uint16
リテラル サフィックスが正しくリストされました (#5712)。 - 計算式に関するエラー メッセージでは、メッセージ内に
async
と記載されなくなりました。代わりに "計算式" と記載されます。これは、John Wostenberg によって行われました (#5343)。 - F# インタラクティブ内での
.dll
の参照が誤っているときに返されるエラーメッセージが Bartoz Sypytkowski によって修正されました (#5416)。 - 静的に解決される型パラメーターが継承されたメンバーを非表示にするメンバー呼び出しを処理できなかったバグが、Victor Peter Rouven Müller によって修正されました (#5531)。
- Steffen Forkmann と Robert Jeppesen によって、パフォーマンスに関するさまざまな軽微な改善がコンパイラに加えられました。
F# のパフォーマンスの向上
Visual Studio 2019 の F# でもう 1 つの大きな焦点は、中規模および大規模ソリューションのパフォーマンスです。 長年にわたって未解決だった問題を解決しました。問題の一部は Visual Studio 用の F# ツールの最初のエディションまでさかのぼります。 優秀な F# オープン ソース コミュニティからも支援をいただきました。
- Roslyn による F# 言語サービスの初期化方法を改良しました。 大規模なソリューションの型の色付けが一般に早く表示されるようになるはずです。
- (特に大きなファイルによって) 徐々に大きくなる割り当てを回避するため、ソース テキストの表現を変更しました (#5935、#5936、#5937、#4881)。
- メモリの使用量を大幅に減らすため、ファイルの小規模な編集のビルド キャッシュを変更しました (#6028)。
- 認識されないトークンが入力されたときに名前を提案するコンパイラ機能を、このような提案をオンデマンドの計算のみに変更しました。その結果、大規模なソリューションでゆっくり入力したときに、CPU とメモリが大幅に削減されるようになりました (#6044)。
- 既定で開かれていない名前空間からのシンボルが表示されないように、IntelliSense を変更しました。 これにより、多くの参照があるプロジェクトで IntelliSense のパフォーマンスが大幅に向上します。 この機能は、[ツール] > [オプション] > [テキスト エディター] > [F#] > [IntelliSense] の設定で有効に戻すことができます。
- 型プロバイダーを使用して入力候補一覧内に指定された型を大量に作成するときのメモリ使用量を改善しました (#5599)。
- 認識されない名前を提案するための内部文字列比較アルゴリズムへの CPU およびメモリ使用量の削減は Avi Avni によって修正されました (#6050)。
- 大きな文字列の割り当ての注目すべき原因が (特に IDE ツールの場合)、Avi Avni によって解決されました (#5922)。
- IntelliSense の計算から生じるラージ オブジェクト ヒープ割り当ての注目すべきソースは、Chet Husk によって修正されました (#6084)
F# ツールの機能強化
Visual Studio 2019 用の F# ツールには、パフォーマンスの機能強化に加え、その他にもさまざまな機能強化が行われました。
open
ステートメント コードの追加に対する修正プログラムにより、既定で、open
ステートメントがファイルの上部に追加されるようになります。- ユーザー コード内の
match!
により、後続のスコープに対する構造体ガイドラインとコードのアウトライン表示ノードが無効にされるというバグが修正されました (#5456)。 - エディターでは
byref
値、outref
値、およびref
値がレコード フィールドとして正しく色付けされるようになり、色付けの値は変更可能です (#5579)。 - 名前の変更リファクタリングにおいてシンボル名に含まれる
'
文字が認識されないというバグを修正しました (#5604)。 - F# スクリプト ファイルの名前を変更すると色付けのデータが失われる長年のバグが修正されました (#1944)。
- Backspace キーを押したときに無関係な項目がリストに表示されないように IntelliSense をクリーンアップしました。
- "スマート" インデントがオンの場合に F# コードをエディターに貼り付けると、それが、現在のカーソル位置に基づいて適切なスコープに一致するようにフォーマットされるようになります。これは Saul Rennison によって実装されました (#4702)。
- F# エディター オプションが同期しない問題が、Jakob Majocha によって修正されました (#5997、#5998)。
inherit
句内のコンストラクターの IntelliSense でプライマリ コンストラクターが表示されないバグは、Eugene Auduchinok によって修正されました (#3699)- F# 言語サービスに対するさまざまな軽微な機能強化が Eugene Auduchinok によって行われました
F# オープン ソース インフラストラクチャ
.NET SDK を使用する F# と F# ツールのコードベースを完全に移行しました。 これにより、特に Windows を使用していない開発者にとって、共同作成プロセスが大幅に簡略化されます。 さらに、Jakob Majocha は、コードベースへの変更を踏まえて、新しい共同作成者のためにドキュメントの整理を支援しました。
Python
お客様からのフィードバックに基づき、Visual Studio 2019 では Python 環境を管理するためのエクスペリエンスが一新されています。
- 環境を追加するための新しいダイアログを追加しました。これにより、仮想環境および conda 環境を作成する操作と、それらをご利用のプロジェクトに追加する操作が簡単になります。
- Visual Studio インストールのサイズを縮小し、アップグレード中のエラーを回避するために、Visual Studio インストーラーでは Anaconda の不要なバージョンがインストールされなくなりました。
- Miniconda が Python ワークロードにオプションのコンポーネントとしてバンドルされており、Miniconda/Anaconda をインストールしなくても Conda 環境を作成できます。
- requirements.txt (仮想環境) または environment.yml (conda 環境) がご利用のプロジェクトの root に存在する場合は、環境を追加するように求めるメッセージが自動的に表示されるようになります。
- Python ファイルを編集するときは、新しい Python 環境ツール バーを使用できます。 新しいツール バーを使用すると、プロジェクト、"フォルダーを開く" ワークスペース、または他のプロジェクト内のルーズ Python ファイルを使用するときに、異なる Python インタープリターに切り替えることができます。
- Python IntelliSense の自動補完の品質が向上しました。これには、相対インポートと名前空間インポートの検出機能の向上が含まれます。
- Django プロジェクト テンプレートが Django 2.x をサポートするように更新されています。
- 関数の戻り値が Python デバッガーに表示されるようになりました。
- これで、VS Live Share セッションを作成し、他の Visual Studio ユーザーと Python コードについて共同作業できるようになりました。 以前は、Python は Visual Studio Code から作成されたセッションに参加するときにのみサポートされていました。
JavaScript/TypeScript
- Node.js プロジェクトの単体テスト内で JavaScript のデバッグを有効にするためのサポートが追加されました。 これは、Node.js のお客様から長らく要求されていた機能です。
- TypeScript NuGet パッケージまたは npm パッケージがインストールされているプロジェクトでは、JavaScript/TypeScript 言語サービスが自動的に読み込まれるようになりました (TypeScript 3.2 以降は NuGet パッケージからサポートされ、TypeScript 2.1 以降は npm パッケージからサポートされます)。
- 大規模なプロジェクトを処理するために言語サービスでのメモリ上限を増やした結果として、言語サービスのパフォーマンスが向上しました。
- 閉じられた JavaScript/TypeScript ファイルの診断が、既定ではエラー一覧に表示されなくなりました。
- レガシ JavaScript 言語サービスは、利用できなくなりました。 これまで、ユーザーはレガシ JavaScript 言語サービスを復元するオプションを使用できました。 今度、ユーザーは新しい JavaScript 言語サービスをすぐに利用できるようになります。 新しい言語サービスは、静的分析によって強化された TypeScript 言語サービスをベースにしています。 これによりツールの機能が向上するため、JavaScript コードは型定義に基づく高度な IntelliSense の恩恵を受けられるようになります。 新しいサービスは、レガシ サービスと比べて簡易で、消費するメモリが少ないため、ユーザーは自分のコード スケールに応じて優れたパフォーマンスを得ることができます。
チーム エクスプローラーと Azure DevOps
Azure DevOps での Git 作業項のエクスペリエンスに対して機能強化を行いました。
- 新しい ID ピッカーで自分自身または他のユーザーに作業項目を割り当てます。 既定では、最も最近使用したユーザーの一覧が表示されます。 または、検索機能を使用して組織内の他のユーザーを検索します。
- コミット メッセージでの #mentions エクスペリエンスが改善されました。 #mention ピッカーから作業項目を選択すると、[関連作業項目] の一覧に自動的に追加されます。
ホット パスの強調表示
- パフォーマンス プロファイラーの CPU 使用率ツールと .NET オブジェクト割り当てツールの両方に、ホット パスの強調表示のサポートが追加されました。 呼び出しツリーで任意の関数を選択してホット パス ボタンをクリックすると、CPU 使用率または .NET オブジェクト割り当てのホット パスが展開されます。 この機能を使用すると、CPU を最も多く使用している関数呼び出し、または最も多くのオブジェクトを割り当てている関数呼び出しを簡単に識別できます。
.NET ツールと ASP.NET ツール
- すべてのアプリケーションの発行プロファイル概要ページに細々とした UX の改善を実装しました (新しいセクション ヘッダーとアクション/ショートカット)。
- Azure App Service に ASP.NET アプリケーションを発行するときの発行プロファイル概要ページに、[依存関係] という名前の新しいセクションが追加されました。 現在、この新しいセクションでは、Azure Storage と Azure SQL リソースを App Service インスタンスに関連付けることができます。 今後、このメカニズムでさらに多くの Azure サービスが表示されるようになります。
- .NET Core プロジェクトと追加された互換性に対してコード メトリックを使用できます。
- エディター設定を Editorconfig ファイルにエクスポートできます。そのためには、[ツール] > [オプション] > [テキスト エディター] > [C#] > [コード スタイル] の順に選択し、"設定から .editorconfig ファイルを作成" ボタンを使用します。
- C# および Visual Basic の新しいRegexパーサー サポートを使用できます。 正規表現が認識されるようになりました。正規表現に関する言語機能が有効にされます。 Regex 文字列が認識されるのは、Regex コンストラクターに文字列が渡されたとき、または文字列の直前に、文字列
language=regex
を含むコメントが付いているときです。 このリリースに含まれる言語機能としては、分類、かっこの一致、参照の強調表示、および診断があります。
- 未使用のプライベート メンバーに関するデッド コード分析とオプションのコード修正によって、未使用のメンバーの宣言を削除できるようになりました。
- アクセサーに対する参照の検索機能からは、そのアクセサーに関する結果が返されるのみとなりました。
- deconstruct メソッドを作成するためのコード修正を加えました。
- ファイルにコードを貼り付けるときに、"using" ステートメントを追加できます。 不足している関連のインポートを追加するように求める認識済みのコードを貼り付けると、コード修正が表示されます。
- "Ctrl + ." または "Alt + Enter" キーを使用して利用できるリファクタリング アクションとクイック アクションが増えました
- "await" は暗黙的に指定されているが省略される場合。コンパイラの警告が表示されるようになりました。
- ローカル関数をメソッドに変換する場合。
- タプルを名前付き構造体に変換する場合。
- 匿名型をクラスに変換する場合。
- 匿名型をタプルに変換する場合。
- LINQ クエリまたは LINQ メソッドへの foreach ループの場合。
- これで、Azure Kubernetes サービスで実行される ASP .NET Core アプリケーションのサポートを追加できました。 作業を開始するには、GitHub にあるこの docker 例を参照してください。
- パフォーマンス プロファイラーの CPU 使用率ツールで ASP.NET がサポートされるようになりました。
- すべての参照の検索 (Shift + F12) と CodeLens を使用して、.NET Core プロジェクト内の Razor (.cshtml) ファイルからの結果を表示できるようになりました。 これで、関連する Razor ファイル内で識別されたコードに移動することができます。
- Windows Virtual Machines (VM) および VM Scale Sets で実行される ASP .NET (コアおよびデスクトップ) アプリケーションを対象とするためのサポートを追加しました。
- FxCop を使用してコード分析を実行するとき、警告が表示されるようになります。 今後、コード分析を実行する方法としては、.NET Compiler アナライザーの使用をお勧めします。 詳細については、.NET Compiler Platform アナライザーへの移行に関するページを参照してください。
- ポータブル クラス ライブラリ (PCL) プロジェクト テンプレートが利用できなくなりました。プロジェクトのサポートは既定ではインストールされなくなります。 複数のプラットフォームを対象とすることを目的とした新しいプロジェクトには、.NET Standard プロジェクト タイプを使用する必要があります。 PCL プロジェクトのサポートを必要とするお客様は、Visual Studio インストーラーの [個々のコンポーネント] タブからコンポーネントを個別にインストールする必要があります。
- "Project.CopyWebSite" コマンドは使用できなくなりました。 この機能は、.NET 向けの "Web サイト" プロジェクト タイプでしか使用できませんでした。 これには、2 つの Web サイトのそれぞれのファイルのバージョンが同じになるように、それらの Web サイトを同期する機能が用意されていました。 Visual Studio 2019 では、Visual Studio の外部にあるリモート宛先からファイルをコピーして、プロジェクトを開くことができます。
- リモートの FTP の場所から Web サイト プロジェクトを開く機能は削除されました。 FTP ユーザーは、Visual Studio の外部にあるリモート宛先からファイルをコピーし、プロジェクトを開き、変更を加えてから、発行機能を使用して、ファイルをリモートの FTP の場所にプッシュして戻すことができます。
- ASP.NET および Web ワークロードでは、カスタム CoffeeScript 編集エクスペリエンスがインストールされなくなりました。 Visual Studio の TextMate バンドルでは、CoffeeScript を操作するための優れたエクスペリエンスが提供されます。
- CSSLint と CoffeeLint の組み込みのコピーによって現在生成されている CSS エラーと CoffeeScript エラーは、それらのファイルを編集する際に自動的に表示されることはなくなります。 npm や Visual Studio タスク ランナー エクスプローラーなどのリンターを実行する場合は、別の方法を使用します。
- Visual Studio では、Knockout HTML 属性に対して IntelliSense が指定されなくなります。 Visual Studio 2019 では、属性を入力する必要があります。
- JavaScript をデバッグするために ASP.NET プロジェクト内でレガシ Chrome デバッガーを使用する機能は削除されました。 Visual Studio に組み込まれている現在の Chrome デバッガーは引き続き使用することができます。
- ASP.NET プロジェクトで JavaScript コンソール機能を使用できる機能が削除されました。 お好みのブラウザーの開発ツールに含まれるコンソールを使用することをお勧めします。
コンテナー ツール
- コンテナー化とデバッグに対して簡素化された単一プロジェクトのエクスペリエンスが追加されました。
- ASP.NET Web アプリケーション (.NET Framework)
- コンソール アプリケーション (.NET Core)
- 基本イメージとして Alpine を使用する ASP.NET Core アプリケーションをデバッグするためのサポートが追加されました。
- 最新の ASP.NET イメージと .NET Core イメージのサポートが追加されました。
.NET Core ツール
.NET Core 3.0
このリリースでは、プレビュー SDK がインストールされている場合、.NET Core 3.0 を対象とする ASP.NET Core、コンソール、クラス ライブラリ プロジェクトを作成できます。
Visual Studio RC を使用している場合は、[ツール] > [オプション] > [プロジェクトおよびソリューション] > [.NET Core] に移動し、[.NET Core SDK のプレビューを使用する] チェック ボックスをオンにする必要もあります。 Visual Studio Preview を使用している場合は、この操作を行う必要はありません。 この設定とその動作での詳細については、Visual Studio 2017 バージョン 15.9 の .NET Core ツールの更新プログラムに関するページを参照してください。
"dotnet new" コマンドを使用して .NET Core 3.0 向けの Windows フォームまたは WPF プロジェクトを作成することもできます。 これらのプロジェクトは、Visual Studio 2019 で開くことができます。
新機能
このリリース以降、.NET SDK スタイルのプロジェクトのプロジェクト ファイルが、Visual Studio でのファースト クラスのファイルの種類になります。 以下のことがサポートされるようになりました。
- プロジェクト ノードをダブルクリックしてプロジェクト ファイルを開く
- プロジェクト ノードをシングルクリックして [プレビュー] タブでプロジェクト ファイルを開く
- [すべてに移動] (
ctrl + T
) で名前を指定してプロジェクト ファイルを検索する - [複数のファイル内を検索] でプロジェクト ファイル内の MSBuild 要素を検索する
- プロジェクト作成エラーがトリガーされた場合にエラー一覧から開く
さらに、.NET SDK スタイルのプロジェクトでは、コンソール アプリでの F5
と ctrl + F5
に対して新しい統合コンソール エクスペリエンスが使用されるようになります。 これにより、Visual Studio からコンソール アプリケーションを起動するときのエクスペリエンスが統一されます。
F5
の場合、アプリの実行が終了したときに、コンソール ウィンドウは自動的に閉じません。 コンソール アプリにConsole.Read()
の呼び出しを追加する必要はなくなりました。ctrl + F5
の場合、コンソール ウィンドウはアプリの後続の実行で再利用されます。 コンソールの読み込みウィンドウを閉じる必要はなくなりました。
新しいコンソール ウィンドウは、開いているときにキーを押すか、[ツール] > [オプション] > [デバッグの停止時に自動的にコンソールを閉じる] オプションを選択することで、自動的に閉じることができます。
ライセンス式とライセンス ファイルのサポートがプロジェクトのプロパティ ページに追加されました。 これは NuGet で廃止予定の licenseUrl
の変更に対応しています。
パフォーマンスの向上
- 大規模なソリューションのスケーラビリティが大幅に向上し、以前よりもはるかに大規模な .NET Core ソリューションを使用できるようになりました。
- 大規模なプロジェクトのソリューションの読み込み時間は大幅に短縮され、読み込み時の CPU とメモリの使用量も大幅に削減されました。
.NET Core 以外のプロジェクトとの機能パリティ
- 設計時の設定変更が尊重されず、プロジェクトをリロードする必要があるという長期にわたって未解決だった問題が解決されました。
- ASP.NET Core プロジェクトで Razor から C# へ定義を移行できるようになりました。
- AvailableItemName 項目がサポートされるようになりました。
- グロビングによってプロジェクトに追加された依存ファイルの自動入れ子処理がサポートされるようになりました。
- William Kent によって、XamlAppDef のサポートが追加されました。
16.0、16.0 プレビュー 2、16.0 プレビュー 3、および 16.0 プレビュー 4 のマイルストーンで、すべての問題とプル要求の一覧を確認できます。
.NET の生産性
.NET のリファクタリングとコード修正:
- 名前空間とフォルダー名を同期する
- ダイアログ オプションによる [Pull members up]\(メンバーのプルアップ\) リファクタリング
- パラメーター/引数のリストをラップ/インデント/配置する
- 匿名型をタプルに変換する
- ラムダに式/ブロック本体を使用する
- 条件式および論理演算を反転させる
- ブロック コメントを "/" で自動的に閉じる
- 複合代入に変換する
- 暗黙的に型指定された変数を定数にすることはできないことを修正する
- 補間された逐語的文字列を入力するときの
@$"
の$@"
での置換に対する自動修正機能 #nullable enable|disable
の完了- 使用されていない式の値およびパラメーターに対する修正
- インターフェイスの展開が同じファイル内に存在することの許可に対する修正
読み取り/書き込みによる参照が分類されます。
csharp_prefer_braces に対して Editorconfig when_multiline オプションが追加されます。
.NET Compiler Platform SDK (Roslyn とも呼ばれます) の新しい分類色を使用できます。 Visual Studio Code の色に似ている新しい既定の色が段階的にロールアウトされています。これらの色は、[ツール] > [オプション] > [環境] > [フォントおよび色] で調整できます。または、[環境] > [プレビュー機能] の [Use enhanced colors] (拡張された色を使用する) チェック ボックスをオフにすることで無効にできます。 この変更によるワークフローへの影響についてのフィードバックをお聞かせください。
ASP.NET プロジェクトでの JavaScript のデバッグ
- [ブラウザーの選択] メニューを使用して ASP.NET プロジェクトに対してカスタム引数を持つ新しい Google Chrome ブラウザーを追加した場合、Visual Studio でデバッグを開始するときに、アプリケーションの JavaScript のデバッグが有効になります。 Google Chrome を起動するときに、Chrome に対してカスタム起動引数が適用されます。
ASP.NET と Azure Functions ツール
- Visual Studio 2019 には、新しいプロジェクトを作成するための新しいエクスペリエンスが付属しています。 具体的には、新しい ASP.NET プロジェクトを作成するときに、ASP.NET 固有の選択肢を表示する追加のダイアログが、Visual Studio によって提供されます。 これらの追加のダイアログは、他のエクスペリエンスの表示スタイルと合わせるために更新されています。
- 以前から、Visual Studio では発行資格情報が暗号化され、発行プロファイルのユーザー ファイルに格納されていたため、アプリケーションを発行するたびに、これらを再入力する必要はありません。 通常、ユーザー ファイルには共有できないシークレットや個人情報が含まれている可能性が高いため、これらはソース管理から既定で除外されています。 これまでは、Azure Functions プロジェクトの発行プロファイルがソース管理にチェックイン済みでもユーザーファイルがチェックインしていない場合、発行資格情報が見つからず、発行プロファイルを再利用することはできませんでした。 このリリースでは、発行プロファイルを再利用できるように、資格情報の編集と新しいユーザー ファイルの作成が許可されるようになりました。
パフォーマンス ウィザード
Visual Studio 2019 では、パフォーマンス ウィザード内で使用することができたプロファイル エクスペリエンスがパフォーマンス プロファイラーに移動されました。 サンプリングのための CPU 使用率ツールと、インストルメンテーション ツール内のインストルメンテーションは、パフォーマンス プロファイラーにあります。 この変更によってパフォーマンス ウィザードは不要になり、Visual Studio 2019 からは削除されています。 さらに、VS パフォーマンス コマンド ライン ツール内のサンプリング オプションは削除されました。これに代わるコマンド ライン ツールが今後のプレビューでリリースされます。
テスト ツール
- ソリューション エクスプローラーでテスト、テスト クラス、テスト プロジェクトを右クリックして、テストの実行やデバッグができるようになりました。
- テスト実行により、プロジェクト プロパティに設定されているプロセッサ アーキテクチャが自動検出されます。
- Selenium や Appium など OSS UI テスト ツールは勢いを増し、バックアップ強力なコミュニティの支持を得ています。 これらのフレームワークが業界標準となったので、UI 駆動型機能テストの自動化のためにコード化された UI テストを非推奨としました。 Visual Studio 2019 は、コード化された UI テスト機能を備えた Visual Studio として最後のバージョンとなります。 Web アプリのテストには Selenium を使用し、デスクトップと UWP アプリのテストには Appium と WinAppDriver を一緒に使用することをお勧めします。
- Visual Studio 2019 は、ロード テスト機能を備えた Visual Studio として最後のバージョンとなります。 ロード テスト ツールを必要とするお客様には、Apache JMeter、Akamai CloudTest、Blazemeter などの代替のロード テスト ツールの使用をお勧めします。
- Visual Studio 2019 では、前にパブリックとしてマークされていたがドキュメントに正式に記載されたことがないいくつかのテスト ウィンドウ API が削除されました。 これらは、拡張機能の管理者に対して早期に警告を発するために、Visual Studio 2017 で非推奨とマークされていました。 Microsoft の知る限りでは、これらの API に対して依存関係を築いている拡張機能はごくわずかです。 このような API には、IGroupByProvider、IGroupByProvider、KeyComparer、ISearchFilter、ISearchFilterToken、ISearchToken、SearchFilterTokenType などがあります。 この変更がご利用の拡張機能に影響を与える場合は、開発者コミュニティで問題点を送信して、その旨をお知らせください。
Visual Studio Kubernetes ツール
以前は Visual Studio 2017 の個別の拡張機能として使用できた Visual Studio Kubernetes ツールが、Visual Studio 2019 では Azure 開発ワークロードに統合されています。
新しいプロジェクトへの Kubernetes のサポートの追加
新しいプロジェクトに Kubernetes のサポートを追加するには、Visual Studio を開いて [新しいプロジェクトの作成] オプションを選択します。 [新しいプロジェクトの作成] ウィンドウで Kubernetes を検索し、[Kubernetes 用のコンテナー アプリケーション] プロジェクト テンプレートを選択します。
[次へ] をクリックして、プロジェクト名、場所、ソリューション名を入力します。 [作成] をクリックします。 プロジェクトに使用する ASP.NET Core アプリケーション テンプレートを選択して、[OK] をクリックします。 Visual Studio で、新しいアプリケーションをビルドして Kubernetes クラスターに配置するために使用できる Dockerfile と Helm チャートが自動的に作成されます。 これらの成果物は必要に応じて変更できます。
既存のプロジェクトへの Kubernetes のサポートの追加
Kubernetes のサポートを既存の ASP.NET Core アプリケーションに追加することもできます。 そのためには、Visual Studio 2019 でプロジェクトを開きます。 ソリューション エクスプローラーでプロジェクトを右クリックし、[追加] をポイントして、[Container Orchestrator Support]\(コンテナー オーケストレーターのサポート\) をクリックします。
[Add Container Orchestrator Support]\(コンテナー オーケストレーターのサポートの追加\) ダイアログで、[Kubernetes/Helm] を選択して [OK] をクリックします。 Visual Studio で、アプリケーションをビルドして Kubernetes クラスターに配置するために使用できる Dockerfile と Helm チャートが (charts という名前のフォルダーに) 自動的に作成されます。 これらの成果物のいずれかが既に存在する場合、それらは上書きされません。 これらの成果物は必要に応じて変更できます。
パブリックにアクセスできるエンドポイントの作成
新規または既存のプロジェクトに Kubernetes のサポートを追加するとき、Visual Studio でアプリケーションに対してパブリックにアクセスできるエンドポイントを作成するかどうかの確認を求められます。
[はい] をクリックすると、アプリケーションが Kubernetes クラスターに配置されるときに Kubernetes イングレス オブジェクトを作成するための Helm チャートがアプリケーションに対して構成されます。 Helm チャートを変更することにより、いつでもこのオプションを変更できます。
Azure Kubernetes Service でのアプリケーションのデバッグ
新規または既存のプロジェクトに Kubernetes のサポートを追加した後は、Azure Dev Spaces と呼ばれる機能を使用して、Azure Kubernetes Service (AKS) のライブ クラスターでアプリケーションのビルド、実行、デバッグを簡単に行うことができます。 これは、実際の Kubernetes クラスターのコンテキストでプロジェクトをテストする場合、またははるかに大規模なアプリケーションの一部であるサービスを、ローカル環境にアプリケーション全体をレプリケートすることなくデバッグする場合に、役に立ちます。 また、Azure Dev Spaces には、開発チームで AKS クラスターを共有できる機能も含まれます。 Azure Dev Spaces の詳細については、Azure Dev Spaces のドキュメントをご覧ください。 最初に、Visual Studio でデバッグ起動ターゲットとして Azure Dev Spaces が選択されていることを確認します。
Dev Spaces で初めてプロジェクトを起動する前に、使用する Azure サブスクリプションと AKS クラスターを構成します。 また、プロジェクトを実行する空間を選択します。
通常、チームはアプリケーション全体の最新の安定したバージョンを "既定" の空間で実行します。 その後、作業しているサービスのバージョンを、"既定" の空間の子空間で実行します。 子空間で他のサービスを実行する必要はありません。子空間内のサービスからの呼び出しは、Dev Spaces によって、"既定" の空間で実行されている安定バージョンのサービスに自動的にルーティングされます。 これを設定する方法の詳細については、Azure Dev Spaces のドキュメントのチーム開発チュートリアルをご覧ください。 正しいサブスクリプション、クラスター、空間を選択した後、[OK] をクリックして Dev Spaces の構成を続けます。 Dev Spaces コントローラーがまだ関連付けられていないクラスターを選択した場合は、次のダイアログ ボックスで [OK] をクリックすると自動的に作成されます。
コントローラーの作成には約 2 分かかります。 Visual Studio ウィンドウの左下隅の [バックグラウンド タスク] ボタンをクリックして、状態を確認できます。
Dev Spaces コントローラーの準備が整ったら、F5 キーを押すか、ツール バーの [Azure Dev Spaces] デバッグ ボタンをクリックして、AKS でプロジェクトをデバッグします。
Dev Spaces により、コードが Azure に同期され、コードを含むコンテナー イメージがビルドされて、プロジェクトで定義されている Helm チャートを使用して AKS クラスターにイメージが配置されます。 クラスターで実行されているサービスへのリモート デバッグ接続が Visual Studio によって開かれるので、ローカル環境で実行されているサービスをデバッグするときと同じようにクラスターのサービスを操作できます。
Xamarin によるモバイル開発
このリリースには、ワークロードのサイズと Android のビルドのパフォーマンスおよび信頼性の改善に加えて、Xamarin.Android および Xamarin.Forms の生産性向上のための機能強化が含まれています。
- Xamarin ワークロードは 7.69 GB になりました。これは、Visual Studio 2017 バージョン 15.9 から 2 倍の削減、バージョン 15.7 と比較すると 3 倍の改善になります。
- IntelliCode 拡張機能で、Xamarin.Forms XAML がサポートされるようになりました。
[ファイル] > [新しいプロジェクト]
アプリの構築をすばやく開始できるように、新しい Xamarin プロジェクトの作成にかかる時間を減らすことを目的としたパフォーマンスの改善が行われました。 パッケージの復元時間を短縮するため (特に低帯域幅またはオフラインの状況で)、ワークロードのインストールの一環として、テンプレートで使用される NuGet パッケージも含めるようにしました。 これらの機能向上により、新しい Xamarin プロジェクトを完全に読み込んで復元するのにかかる時間が、場合によっては約 50% 短縮されます。
ビルド進行状況のインジケーター
プロジェクトをビルドするときに、ビルドの進行状況に関するいっそう詳細な情報を確認できるようになりました。 ビルド中に左下隅のバックグラウンド タスク アイコンをクリックすると、実行されている現在のビルド ターゲットが表示されます。 これは、ビルドがまだ実行されているけれども、ターゲットの完了に時間がかかっているかどうかを確認するのに、役立つ場合があります。
Xamarin.Forms Previewer の基本プレビュー モード
コードのプレビューを表示するために Xamarin.Forms XAML Previewer のプロジェクトを構築する必要がなくなりました。 XAML ファイルにカスタム コントロールがある場合は、それらをプレビューするためにプロジェクトをビルドするか、設計時のレンダリングに選択する必要があります。
Xamarin.Forms Previewer デバイスのドロップダウン
新しい Android デバイスのドロップ ダウン メニューを使用して、Android デバイスと iOS デバイス間を切り替えて Xamarin.Forms XAML をプレビューできるようになりました。
Xamarin.Forms プロパティ パネル
プロパティ パネル内で Xamarin.Forms のコントロール、セル、およびレイアウトの最も一般的な属性を編集し、ご利用の XAML で直ちに反映されたそれらの変更内容を確認できるようになりました。
Xamarin.Forms シェル テンプレート
最新の Xamarin.Forms リリースを使用するように Xamarin.Forms テンプレートが更新され、Xamarin.Forms シェル アプリ用の新しいテンプレート オプションが追加されました。 シェルの目的は、開発者の生産性を向上させ、レンダリング速度とメモリの消費量に注目しながら、アプリケーションの複雑さを軽減することです。 このテンプレートでは、Android と iOS 用のブートストラップ シェル アプリが提供されます。
Android のビルドのパフォーマンスと信頼性
Visual Studio 2017 バージョン 15.9 および Visual Studio for Mac 7.7 で、初回ビルドのパフォーマンスおよびビルドの正確性についての改善を行いました。 Visual Studio 2019 および Visual Studio for Mac 7.8 で、ビルドおよび配置をさらに速くしました。
- Android の次世代のパッケージ ツールを利用できるようになります。 この機能を有効にするには、ご利用のプロジェクトの
.csproj
に MSBuild フラグを追加します。- aapt2 では、Android パッケージがコンパイルとリンクの 2 つのステップに分割されます。 これにより、インクリメンタル ビルドのパフォーマンスが向上し、以前のエラー レポートが提供されます。 たとえば、1 つのファイルだけに変更がある場合は、そのファイルを再コンパイルするだけで済みます。
<AndroidUseAapt2>True</AndroidUseAapt2>
- aapt2 では、Android パッケージがコンパイルとリンクの 2 つのステップに分割されます。 これにより、インクリメンタル ビルドのパフォーマンスが向上し、以前のエラー レポートが提供されます。 たとえば、1 つのファイルだけに変更がある場合は、そのファイルを再コンパイルするだけで済みます。
- ご利用のプロジェクトでこのツールを有効にすると、ビルド時およびランタイムの両方でのパフォーマンスの向上が可能になります。 これらのプロパティの詳細については、Xamarin.Android でのビルド プロセスに関する Microsoft のドキュメントを参照してください。
Android Emulator の機能強化
Visual Studio 2019 では、Android エミュレーター イメージをより簡単に作成できます。 また、Windows 10 の 2018 年 10 月の更新プログラム (バージョン 1809) では Window チームと共に作業を続けることで、Android エミュレーターが Hyper-V 上で実行されるときのパフォーマンスを向上させました。
- 新しいユーザーは実行アイコンを押すだけで最初のイメージを作成できます。
- Microsoft のエミュレーター取得エクスペリエンスでは、お客様の設定に対して最適な構成が自動的に決定され、既定ではハードウェアの高速化 (Intel HAXM または Hyper-V を使用) とクイック起動が利用されます。
- 別のイメージを作成する場合は、ドロップダウンから [Android Emulator の作成] を選択して、Android Device Manager を開きます。
Xamarin.Android でのビルドの機能強化によりビルドが高速化される
一連の初期ビルド パフォーマンス向上策がリリースされました。 現時点で、Xamarin.Android 9.1.1 以降には、以前のリリースと比べて大幅なビルド パフォーマンスの向上が含まれています。 詳細については、「Xamarin.Android 15.9 vs.16.0 build performance comparison (Xamarin.Android 15.9 と 16.0 でのビルドのパフォーマンスの比較)」をご覧ください。
Xamarin.Android の高速展開の強化
これまで、高速配置では、アプリ内にパッケージ化されている資産、リソース、共有ネイティブ ライブラリに対して、または Java.Lang.Object
を継承するユーザー定義クラスに対して、変更が行われていないシナリオで、Android パッケージ (.apk ファイル) のリビルドまたは再配置をスキップすることにより、増分配置時間の短縮を提供してきました。
強化された高速配置では、共有ネイティブ ライブラリと Java.Lang.Object
を継承するクラスの両方をカバーするように、高速配置のサポートが拡張されています。 これらの新しい拡張機能を使用する高速配置のビルドでは、新しい Android.App.Application
または Activity
サブクラスの追加により AndroidManifest.xml ファイルが変化したときなど、限られた数のシナリオにおいてのみ新しい .apk ファイルを生成する必要があります。
これらの機能強化は、現在のプレビューではまだ既定では有効になりません。 有効にするには、.csproj ファイルで $(AndroidFastDeploymentType)
MSBuild プロパティを Assemblies:Dexes
に設定します。
<PropertyGroup>
<AndroidFastDeploymentType>Assemblies:Dexes</AndroidFastDeploymentType>
</PropertyGroup>
Xamarin.Android での次世代の Dex Compiler(d8) および Code Shrinker(r8) のサポート
Xamarin.Android では、最新の Android dex コンパイラ (d8) とコード シュリンカー (r8) がサポートされるようになっています。
これらの機能を有効にするには、.csproj ファイルで、MSBuild プロパティの $(AndroidDexTool)
を d8
に、$(AndroidLinkTool)
を r8
にそれぞれ設定します
- d8 は次世代の dex コンパイラです。このコンパイラでは実行速度がより速くなっており、より優れたランタイム パフォーマンスでより小さな .dex ファイルが作成されます。
<PropertyGroup>
<AndroidDexTool>d8</AndroidDexTool>
</PropertyGroup>
- r8 は圧縮および縮小のための新しいツールです。このツールでは Java バイトコードが、ProGuard を必要としない最適化された dex コードに変換されます。
<PropertyGroup>
<AndroidLinkTool>r8</AndroidLinkTool>
</PropertyGroup>
d8 と r8 の詳細については、こちらのドキュメントをご覧ください。
Xamarin Android Designer の拡張機能
分割ビューでの相互作用に対して生産性向上のための機能強化を複数を行いました。
- ツールボックスからソース エディターに直接ドラッグ アンド ドロップすることができます。これは、ご利用の Android レイアウトをすばやくスキャホールディングするのに役立ちます。
- ソース エディター内で XML 定義の範囲から要素を直接、選択できます。 キャレットの位置を、対応する Android ビューと同期させることで、これを実装しました。これにより、エディターから直接、プロパティ パネル内の要素のプロパティにすばやくアクセスすることができます。
- ご自分のコントロールで使用されている色を確認できるように、XML コードに対するインライン色プレビューを使用できます。
- 値にポインターを合わせることでクイック ヒント機能を使用できます。この機能では、値が定義されている場所や、色の 16 進数の値などの詳細を確認できます。
制約レイアウトの初期サポートを含む Xamarin.Android Designer の機能強化
Android Designer の起動速度を向上させるための作業が開始されました。 この作業の一環として、デザイナーが読み込み中に提供するメッセージングも改善されています。
これらの機能強化と共に、Android Designer では、Android Pie (9.0) がネイティブにサポートされ、ConstraintLayout
属性のオートコンプリートが提供されるようになっています。
Xamarin.Android Designer での XML IntelliSense とコメントの最適化の向上
IntelliSense を使用してレイアウトにウィジェットを追加するとき、必要な属性を最初から指定できるように、完全なスニペット エクスペリエンスが提供されるようになっています。 Android XML レイアウトに対してスマートなコメント化とコメント解除が追加されました。
定義への移動による生産性の向上と、Android リソース ファイルおよび AndroidManifest.xml 内での XML IntelliSense の使用
リソースの URL を Ctrl キーを押しながらクリックして、それらが定義されているファイルまたは行に移動できるようになりました。
レイアウト以外の他の Android XML ファイル (色、文字列、ドローアブル、メニュー、Android マニフェストなど) に対して、IntelliSense/オートコンプリートがサポートされるようになりました。
ユニバーサル Windows プラットフォーム
- IntelliCode 拡張機能で、XAML がサポートされるようになりました。
- Visual Studio 設定の複雑さを軽減しサイズを縮小するために、Visual Studio のインストールから Windows Phone エミュレーターが削除されています。 このため、エミュレーターを手動でダウンロードすることが必要になります。
- Windows 10 Fall Creators Update (ビルド 16299) の前の Windows 10 SDK をターゲットとする UWP アプリ用の XAML デザイン時ツールは、削除されました。 ご利用のアプリケーションを Windows 10 バージョン 1709 以降に再ターゲットして、XAML デザイナーを使用するか、または XAML エディターを使用します。
project.json
を使用して NuGet の依存関係を定義する UWP テスト プロジェクトは、サポートされなくなりました。 新しいPackageReference
形式を使用するように、ご利用のプロジェクトを更新する必要があります。- Visual Studio 2019 で、UWP JavaScript アプリはサポートされなくなりました。 JavaScript UWP プロジェクト (拡張子
jsproj
が付いたファイル) は、作成することも開くこともできません。 詳細については、Windows で適切に実行されるプログレッシブ Web アプリ (PWA) の作成に関する Microsoft のドキュメントを参照してください。 - 以前と同様、JavaScript UWP アプリにアタッチできますが、JavaScript のプロファイリング ツール (ネットワーク、CPU、メモリ プロファイラー) は Visual Studio 2019 で使用できなくなりました。
Office ツール テンプレートの更新情報
Visual Studio 2019 で、Office、SharePoint、および VSTO のテンプレートに対していくつかの変更を加えました。
- Visual Studio 2017 15.9 で追加された SharePoint 2019 のテンプレートは、Visual Studio 2019 でも利用できます。
- SharePoint シーケンシャル ワークフローまたはステート マシン ワークフローのサポートを削除しました。 Visual Studio 2019 ではこれらのワークフローを作成することも開くこともできませんが、Visual Studio の以前のリリースではそれらの編集を引き続き行うことができます。
- Office 2010 のテンプレートは使用できなくなります。 ただし、既存の Office 2010 プロジェクトについては、Visual Studio 2019 で引き続き開くことができます。
- Office 2013 および 2016 のテンプレートによって Office 2013 以降がサポートされていることを反映するために、それらのテンプレートの名前は変更されました。
チーム エクスプローラーと Azure DevOps
Azure DevOps プロジェクトにチーム エクスプローラーを接続するとき、開発者向けの簡素化された新しいエクスペリエンスをリリースしています。
関連する作業項目に焦点を当てます。そのためには、自分に割り当てられた作業項目、フォローしている作業項目、ディスカッションで自分がメンションされた作業項目、および自分のアクティビティに基づく作業項目に基づいてご利用のビューをフィルター処理およびピボットします。
- 各ビュー内では、インラインでの作業項目の作成、シンプルなインライン編集の実行、作業項目への完了のマーク付け、保留中の変更への作業項目の関連付けを行うことができます。
作業項目からローカル ブランチを作成します。この場合、そのローカル ブランチに加えた変更に作業項目が自動的に関連付けられます。 これが既定のエクスペリエンスです。 レガシ エクスペリエンスに切り替える場合は、Visual Studio で作業項目エクスペリエンスを設定することでそれを行います。 この新しいエクスペリエンスが該当するのは Git リポジトリの場合のみであることに注意してください。 TFVC リポジトリ用の新しいエクスペリエンスは、次の更新プログラムで使用できるようになります。
保留中の変更のコミット メッセージ内で #mention を行うときに作業項目を検索します。 詳細については、「View and add work items using the Work Items page」 ([作業項目] ページを使用して作業項目を表示および追加する) を参照してください。
Azure DevOps での採用率の低さが原因となって、Visual Studio 2019 用の Team Foundation Server Office Integration 2019 プラグインから Microsoft Project のサポートが削除されました。 このため、作業項目を Excel にエクスポートしてから、手動でプロジェクトに貼り付けることが必要になります。
Visual Studio 2019 用の Team Foundation Server Office Integration 2019 プラグインから PowerPoint のサポートが削除されました。 ただし、ユーザーは PowerPoint でストーリー ボードを作成し、Azure DevOps でそれらを作業項目に手動でリンクすることもできます。
Application Insights と HockeyApp
- Visual Studio 2019 では Application Insights の Trends ウィンドウが削除され、機能がより豊富な代替えツールが使用されます。 代わりに、Visual Studio で Application Insights の検索ウィンドウを使用することも、Azure portal で Application Insights の豊富な診断ツール セットを使用することもできます。
- HockeyApp SDK の追加および新しいベータ版の配布の作成を行うためのウィザードが削除されました。 代わりに、HockeyApp の後継として Visual Studio App Center の使用をお勧めします。 Visual Studio でのこのようなショートカットを除けば、HockeyApp は引き続き通常どおり使用することができます。
Visual Studio 2019 RC で修正された問題
最新の更新: 2019 年 4 月 26 日
- 値を null にすることはできません。 パラメーター名: TFS にコードをチェックインするときの pUnk。
- csproj のような xml ベースのファイルに不要な "サブタイプ デザイナー" が追加される。
- TLS 1.0: 要求が中止されました: SSL/TLS セキュリティで保護されたチャネル を作成できませんでした。
- ソリューション エクスプローラー: タッチ パッドのジェスチャ スクロールの感度が良過ぎる。
- [MSConnect 1173006] フィルターがソリューション全体に設定されたタスク一覧で、ファイルを閉じるときにタスク/TODO が表示されない。
- Xamarin.iOS でイメージ表示のイメージ資産を選択できない。
- 致命的なエラー C1001: コンパイラで内部エラーが発生しました。
- Visual Studio 2019 - EF6 edmx文件无法保存-VS 2019 Preview 1 - EF6 edmx ファイルを保存できない。
- [WebKit] 定義されていないクラスは、コンパイラの組み込み型の特徴である '__is_assignable' への引数として使用できません (機能後退)
- Visaul Studio 2019: nuget パッケージ マネージャーのコントラストが不適切である。
- チーム エクスプローラー - 変更点: パネルのサイズがチーム エクスプローラー ウィンドウに合っていない。
- Visual Studio 2017 SQL Server オブジェクト エクスプローラー サーバー リストに が保持されない。
- linux-x64 モードでの IntelliSense の問題。
- インデックスが範囲を超えています。 負でない値で、collection.Parameter name :index のサイズよりも小さくなければなりません.
- Visual Studio 2017 UNDO が機能しない/動作を停止する ("また" 報告されました)。
- WSL で作成されたファイルに対して Intellisense が機能しない。
- Intellisense エラー: C++11 の静的 constexpr メンバーの初期化によって "member may not be initialized" (メンバーが初期化されない可能性があります) が発生する。
- VS でデバッグの開始時または終了時にウィンドウの位置が復元されない。
- VS2019 プレビュー 2.2 が起動されるたびに、サード パーティのツールボックス項目が再び読み込まれる。
- VS2019 Preview Release 3 に更新した後に [スタートアップ プロジェクトに設定] を使用すると IDE がクラッシュする。
- Visual Studio 2019 で Visual Studio 2017 C++ プロジェクトのビルドに失敗する。
- ツールボックスの更新の問題を修正。
- ツールボックス コントロールにより、vssettings ファイルが大きくなりすぎる。
- SSDT: 新規データ比較関数 の実行時のログイン失敗エラーを修正しました。
- SSDT: Schema Compare の実行時に発生するソースの使用不能エラーを修正しました。
- SSDT: Schema Compare 生成スクリプトでスクリプトが生成されない問題を修正しました。
- [複数のファイル内を検索] の [次を検索しています] という UI が不要です。
- 既定で、ファイルの検索対象が現在のドキュメントとなります。
- クイック リファレンスによって VS 2019 RC がフリーズします。
- PackageId:MsSqlCmdLnUtils;PackageAction:Install;ReturnCode:1603;.
- 範囲が "現在のドキュメント" に設定されているため、エラーの一覧にエラーが表示されません。
- PropertyInfo.Name 値に対して条件付きブレークポイントを使用できません。
- ファイルの最後でマクロを解析するときに Visual Studio がクラッシュします。
- Visual Studio 2019 での検索が非常に低速です。
- デバッグを開始すると Visual Studio が停止します。
- Visual Studio 2019 RC で vdproj がサポートされていません。
- Visual Studio インストーラーの "ようこそ" イメージに、不快感を与える中国語の要素が含まれています。
- Visual Studio 2019 RC で VSIX 拡張機能の前提条件が削除され、拡張機能の互換性が損なわれています。
- スタート画面からプロジェクトを作成すると、選択したプロジェクト フォルダーが無視されます。
- [プロジェクト] メニュー項目を使用するか、または [構成を管理] ドロップダウン メニューを選択したときに、cpp プロパティのダイアログが表示されません。
- Visual Studio 2019 ビルド ツール - 開発者プロンプトのタイトルが "Developer Command Prompt for Visual Studio 2017" と表示されています。
- フィードバック ツールに関するドイツ語の翻訳: [ヘルプ] > [フィードバックを送信] > [問題の送信]。
- 自动完成功能,如果双击候选项,会丢失输入焦点,需要单机编辑器才能继续输入 - オートコンプリート関数。候補をダブルクリックすると、入力フォーカスが失われます。入力を続行するには、スタンドアロンのエディターが必要です。
- 複数モニター構成で、コンテキスト メニューが正しくないモニターに配置される場合があります。
- Visual Studio 2019 が QQ Pinyi と競合します。
- 最大化された Visual Studio のウィンドウをドラッグできません。
- アクセス違反 C++/CLI 15.9.5 ISO C++ 最新のドラフト標準 15.9.5 以降。
- IDE がレスポンシブ ('ソリューションの準備'、'プロジェクトの作成'、編集と続行など) な場合でも、モーダル進行状況ダイアログは永続的に開きます。
- PackageId:OpenJDKV1;PackageAction:Uninstall;ReturnCode:0;。
- Visual Studio 2019 - ツールボックスが常に初期化中と表示されます。
- Razor ファイル (.cshtml) での Intellisense が動作していません。
- SSDT スキーマ比較が、ファイルの相違点を強調表示しません。
- Razor cshtml ファイルを開くと、Visual Studio 例外になります。
- 拡張機能を初期化できませんでした。
- Asp Core : 新しいビューの作成の表示エラー。
- VS 2019 RC - Winform を作成できません (.Net Core) - 複数のエラー。
- プロジェクト参照のブランチの切り替えの後に読み込まれていません。
- スキャフォールディング エラー: この項目でサポートされているスキャフォールディング機能はありません。
- ロードの構成は、最初のインストールが完了する前にのみ機能します。
- "テキストを大きめに" を使用すると、ドロップダウンのプロジェクトの種類 = テキストが部分的に非表示になります。
- ローカリゼーションが正しくありません。
- フォーム デザイナーのプロパティ ウィンドウには、Visual Studio 2019 RC での 4K ディスプレイ上の自動スケールでのドラッグ ハンドルなしの垂直スクロール バーが表示されます。
- Razor のオートコンプリートがタブ/入力するまで動作し、その後 html を使用します。
- Visual Studio 2019 RC.1 で順番に複数の拡張機能をインストールするときと、VSIXInstaller.exe がランダムにクラッシュします。
- } を移動すると Visual Studio がクラッシュします。
- Visual Studio 2019 プレビュー 3 およびプレビュー 4 で WPF コントロールの Telerik UI が無効になっています。
- System.OperationCanceledException が処理されません。
- サード パーティの IME (QQ Pinyin、Google IME など) を使用していると、Visual Studio 2019 の RC の起動時にクラッシュする。
- ドッキングされていないウィンドウを閉じると、Visual Studio 2019 プレビュー 4 がクラッシュします。
- Intellisense エラー: C++11 の静的 constexpr メンバーの初期化によって "member may not be initialized" (メンバーが初期化されない可能性があります) が発生する。
- スタート ページの [リストから削除] が動作しません。
- $(VCIDEInstallDir) は無効なパスです。 Microsoft.Cpp.Common.props に円記号がありません。
- ソリューション フィルターを開くと、Visual Studio 2019 プレビュー 2.0 以降がクラッシュします。
- [拡張機能の管理] ツール バーから例外がスローされます。
- CMake 構成コンパイラ テストが LLVM/clang-cl に対して失敗する
- SSDT: 複数のプロジェクトでソリューションを読み込む際のパフォーマンスが向上するように修正しました。
- SSDT: データベースとプロジェクト間で Schema Compare を実行したときに SQL ファイルが削除されないことがあり、その後にテーブルの削除が実行される問題を修正しました。
- SSDT: ナレーション機能を向上するアクセシビリティの修正。
- SSDT: 古い sqlncli ドライバーを Microsoft ODBC Driver for SQL Server で置き換えました。
- 複数の C# および Visual Basic プロジェクトの再読み込みが遅いことを修正しました。
- IntelliSense が存在する場合にユーザーが Shift キーを押しながら Enter キーを押すと、アクティブな選択が完了し、新しい行が挿入されます。
- エディターのツールヒントと電球が正しくレンダリングされない PMA 問題を修正しました。
- 拡張機能によって引き起こされるクラッシュに関する通知が再度表示されます。
- Visual Studio のパフォーマンスに関する通知が、改ざんに対してセキュリティで保護されています。
- 表示間でドラッグした際のツールバーのレンダリングに関する問題を修正しました。
- モニターごとの認識が有効になっている場合のツール オプションのレンダリングに関する問題を修正しました。
- さまざまな DpiHelper クラスが非推奨になりました (拡張機能)。
- プライマリ モニターのスケール ファクターにさらに正確に適合するよう、スプラッシュ スクリーンのスケーリングを修正しました。
- 警告/エラーが常に正しく報告されるとは限らない設定のインポートに関する問題を修正しました。
- ツール オプションでレンダリング層に関係なくソフトウェアのレンダリングが報告される問題を修正しました。
- 開いているフォルダーの名前がタイトル バー領域に表示されない問題を修正しました。
- モニターごとの認識が有効になっている場合の [複数のファイル内を検索] の配置に関する問題を修正しました。
- モニターごとの認識が有効になっている場合のドッキング ガイドのレンダリングに関する問題を修正しました。
- Azure VM で実行される ASP.NET アプリのスナップショット デバッガーでのタイム トラベル デバッグが使用できるようになりました。 リリース時にすべての Azure リージョンでこの機能が動作しない可能性があることに注意してください。
- Docker Hub の代わりに Microsoft コンテナー レジストリを使用するため、Visual Studio Tools for Kubernetes の Dockerfile のスキャフォールディングを更新しました。
- Visual Studio Tools for Kubernetes で Dockerfile.develop を変更してもサービスが再配置されない問題を修正しました。
- Visual Studio Tools for Kubernetes で Azure Dev Spaces プロジェクトのサービスの開始に失敗する問題を修正しました。
- Visual Studio でデバッグが停止した後、Visual Studio Tools for Kubernetes で Azure Dev Spaces プロジェクトのサービスの実行が停止する問題を修正しました。
- Azure Dev Spaces ダイアログでアカウントを選択した後、Visual Studio Tools for Kubernetes で null 参照エラー ダイアログが表示される場合がある問題を修正しました。
- Kubernetes オーケストレーション サポートの追加時に Visual Studio Tools for Kubernetes でクラスター セクション ダイアログが表示される問題を修正しました。
- モニターごとの認識を実行しているときの設定のインポートおよびエクスポート ウィザードのレンダリングを修正しました。
- モニターごとの認識を実行しているときの [新しいプロジェクト] ダイアログのサイズ変更を修正しました
- スタート ウィンドウに一連の視覚的な改良を加えました
既知の問題
Visual Studio 2019 バージョン 16.0 のすべての既知の問題と、利用可能な回避策を以下のリンクから参照してください。
フィードバックと提案
皆様のご意見をお待ちしております。 問題がある場合は、インストーラーまたは Visual Studio IDE 自体の右上隅にある [問題の報告] オプションからお知らせください。 右上隅に アイコンがあります。 製品に関する提案をしたり、Visual Studio 開発者コミュニティで問題を追跡したりすることにより、質問、回答の検索、新機能を提案したりすることができます。 ライブ チャット サポートを介して、無料のインストールのヘルプを取得することもできます。
ブログ
開発者ツールのブログで提供されている洞察や推奨事項を活用すると、すべての新しいリリースに関する最新情報を入手し続けることができ、さまざまな機能について掘り下げた記事を参照することもできます。
Visual Studio 2019 リリース ノート履歴
過去のバージョンの Visual Studio 2019 に関連する詳細については、「Visual Studio 2019 リリース ノート履歴」のページを参照してください。