Visual Studio Icon Visual Studio 2019 バージョン 16.4 リリース ノートVisual Studio 2019 version 16.4 Release Notes


| Developer Community | システム必要条件 | 互換性 | 配布可能コード | ライセンス条項 | ブログ | 最新リリースの既知のイシュー || Developer Community | System Requirements | Compatibility | Distributable Code | License Terms | Blogs | Latest Release Known Issues |


ボタンをクリックして、Visual Studio 2019 の最新バージョンをダウンロードします。Click a button to download the latest version of Visual Studio 2019. Visual Studio 2019 のインストールと更新の手順については、「Update Visual Studio 2019 to the most recent release」(Visual Studio 2019 を最新リリースに更新する) をご覧ください。For instructions on installing and updating Visual Studio 2019, see the Update Visual Studio 2019 to the most recent release. また、オフラインでインストールする方法の手順もご覧ください。Also, see instructions on how to install offline.


Visual Studio 2019 バージョン 16.4 の新機能What's New in Visual Studio 2019 version 16.4

サポート期間Support Timeframe

Visual Studio 2019 バージョン 16.4 は、Visual Studio 2019 でサポートされる 2 番目のサービス ベースラインです。Visual Studio 2019 version 16.4 is the second supported servicing baseline for Visual Studio 2019. 長期的な安定性とセキュリティで保護された開発環境を採用する必要がある Enterprise および Professional のお客様は、このバージョンで標準化することをお勧めします。Enterprise and Professional customers needing to adopt a long term stable and secure development environment are encouraged to standardize on this version.  ライフサイクルとサポート ポリシーに関するページで詳しく説明しているように、バージョン 16.4 は、次のサービス ベースラインのリリース後 1 年間、修正プログラムとセキュリティ更新プログラムでサポートされます。  As explained in more detail in our lifecycle and support policy, version 16.4 will be supported with fixes and security updates for one year after the release of the next servicing baseline.

さらに、バージョン 16.4 が利用可能になったことで、最新のサービス ベースラインであったバージョン 16.0 は、今後 12 か月間サポートされ、2021 年 1 月にサポート対象外になります。In addition, now that version 16.4 is available, version 16.0, which was the last servicing baseline, will be supported for an additional 12 months and will go out of support in January 2021. また、バージョン 16.1、16.2、16.3 はサポート対象外になったことにも注意してください。 Note as well that versions 16.1, 16.2, and 16.3 are no longer under support. これらの中間リリースには、次のマイナー更新プログラムがリリースされるまでに限ってサービス修正が提供されました。These intermediary releases received servicing fixes only until the next minor update released.

my.visualstudio.com のダウンロードのセクションで、Visual Studio 2019 バージョン 16.4 の最も安全な最新バージョンを入手できます。You can acquire the latest most secure version of Visual Studio 2019 version 16.4 in the downloads section of my.visualstudio.com.  Visual Studio でサポートされるベースラインの詳細については、Visual Studio 2019 のサポート ポリシーに関するページを参照してください。  For more information about Visual Studio supported baselines, please review the support policy for Visual Studio 2019.

Visual Studio 2019 バージョン 16.4 のリリースVisual Studio 2019 version 16.4 Releases

アーカイブされているリリース ノートArchived Release Notes

Visual Studio 2019 ブログVisual Studio 2019 Blog

Visual Studio 2019 ブログは、Visual Studio エンジニアリング チームからの製品の分析情報の公式な情報源です。The Visual Studio 2019 Blog is the official source of product insight from the Visual Studio Engineering Team. Visual Studio 2019 リリースの詳細については、次の投稿を参照してください。You can find in-depth information about the Visual Studio 2019 releases in the following posts:

リリース ノートのディスカッションに参加するJoin the Release Note Discussion


Release Notes Icon Visual Studio 2019 バージョン 16.4.5Visual Studio 2019 version 16.4.5 New release icon

リリース日: 2020 年 2 月 11 日released February 11, 2020

Visual Studio 2019 バージョン 16.4.5 で修正された主なイシューTop Issues Fixed in Visual Studio 2019 version 16.4.5


Release Notes Icon Visual Studio 2019 バージョン 16.4.4Visual Studio 2019 version 16.4.4

リリース日: 2020 年 1 月 30 日released January 30, 2020

Visual Studio 2019 バージョン 16.4.4 で修正された主なイシューTop Issues Fixed in Visual Studio 2019 version 16.4.4


Release Notes Icon Visual Studio 2019 バージョン 16.4.3Visual Studio 2019 version 16.4.3

リリース日: 2020 年 1 月 14 日released January 14, 2020

セキュリティ アドバイザリ メモSecurity Advisory Notice

CVE-2020-0602 ASP.NET Core サービス拒否の脆弱性CVE-2020-0602 ASP.NET Core Denial of Service Vulnerability

認証を受けていないリモートの攻撃者が、特別に作成された要求を ASP.NET Core アプリケーションに発行して、この脆弱性を悪用する可能性があります。A remote unauthenticated attacker could exploit this vulnerability by issuing specially crafted requests to the ASP.NET Core application. このセキュリティ更新プログラムでは、ASP.NET Core Web アプリケーションによる Web 要求の処理方法を修正することで、脆弱性に対処します。The security update addresses the vulnerability by correcting how the ASP.NET Core web application handles web requests.

CVE-2020-0603 ASP.NET Core のリモート コード実行の脆弱性CVE-2020-0603 ASP.NET Core Remote Code Execution Vulnerability

認証を受けていないリモートの攻撃者が、特別に作成された要求を ASP.NET Core アプリケーションに発行して、この脆弱性を悪用する可能性があります。A remote unauthenticated attacker could exploit this vulnerability by issuing specially crafted requests to the ASP.NET Core application. このセキュリティ更新プログラムでは、ASP.NET Core Web アプリケーションによるメモリ内の処理方法を修正することで、脆弱性に対処します。The security update addresses the vulnerability by correcting how the ASP.NET Core web application handles in memory.

CVE-2020-0605 .NET Core のリモート コード実行の脆弱性CVE-2020-0605 .NET Core Remote Code Execution Vulnerability

脆弱性を悪用するには、対象となるバージョンの .NET Core で、特別に細工されたファイルをユーザーが開く必要がります。Exploitation of the vulnerability requires that a user open a specially crafted file with an affected version of .NET Core. ある電子メール攻撃のシナリオでは、攻撃者は特別に細工されたファイルをユーザーに送信し、そのファイルを開くようユーザーに納得させることで、脆弱性を悪用する可能性があります。このセキュリティ更新プログラムでは、.NET Core がファイルのソース マークアップを確認する方法を修正することによって、脆弱性に対処します。In an email attack scenario, an attacker could exploit the vulnerability by sending the specially crafted file to the user and convincing the user to open the file.The security update addresses the vulnerability by correcting how .NET Core checks the source markup of a file.

CVE-2020-0606 .NET Core のリモート コード実行の脆弱性CVE-2020-0606 .NET Core Remote Code Execution Vulnerability

脆弱性を悪用するには、対象となるバージョンの .NET Core で、特別に細工されたファイルをユーザーが開く必要がります。Exploitation of the vulnerability requires that a user open a specially crafted file with an affected version of .NET Core. ある電子メール攻撃のシナリオでは、攻撃者は特別に細工されたファイルをユーザーに送信し、そのファイルを開くようユーザーに納得させることで、脆弱性を悪用する可能性があります。このセキュリティ更新プログラムでは、.NET Core がファイルのソース マークアップを確認する方法を修正することによって、脆弱性に対処します。In an email attack scenario, an attacker could exploit the vulnerability by sending the specially crafted file to the user and convincing the user to open the file.The security update addresses the vulnerability by correcting how .NET Core checks the source markup of a file.

Visual Studio 2019 バージョン 16.4.3 で修正された主な問題Top Issues Fixed in Visual Studio 2019 version 16.4.3


Release Notes Icon Visual Studio 2019 バージョン 16.4.2Visual Studio 2019 version 16.4.2

リリース日: 2019 年 12 月 17 日released December 17, 2019

Visual Studio 2019 バージョン 16.4.2 で修正された主要なイシューTop Issues Fixed in Visual Studio 2019 version 16.4.2


Release Notes Icon Visual Studio 2019 バージョン 16.4.1Visual Studio 2019 version 16.4.1

リリース日: 2019 年 12 月 10 日released December 10, 2019

Visual Studio 2019 バージョン 16.4.1 で修正された主要なイシューTop Issues Fixed in Visual Studio 2019 version 16.4.1

セキュリティ アドバイザリ メモSecurity Advisory Notice

CVE-2019-1349 サブモジュール名に対する制限が緩すぎることが原因で発生する Git for Visual Studio のリモート実行脆弱性CVE-2019-1349 Git for Visual Studio Remote Excecution Vulnerability due to too lax restrictions on submodule names

兄弟サブモジュールのディレクトリ用のサブモジュール名の衝突が Git で発生している場合には、リモート コード実行の脆弱性が存在します。A remote code execution vulnerability exists when Git runs into collisions of submodule names for directories of sibling submodules. この脆弱性を悪用した攻撃者によって、ターゲット コンピューター上のコードがリモートで実行される可能性があります。An attacker who successfully exploited this vulnerability could remote execute code on the target machine. セキュリティ更新プログラムでは、新しいバージョンの Git for Windows を使用してこの脆弱性に対処します。このバージョンでは、サブモジュールのクローン用のディレクトリを空にする必要があります。The security update addresses the vulnerability by taking a new version of Git for Windows which requires the directory for the submodules’ clone to be empty.

CVE-2019-1350 コマンドライン引数の引用が正しくないことが原因で発生する Git for Visual Studio のリモート実行脆弱性CVE-2019-1350 Git for Visual Studio Remote Excecution Vulnerability due to incorrect quoting of command-line arguments

SSH URL と組み合わせた再帰クローン中に特定の方法で引用されたコマンドライン引数が解釈される場合には、リモート コード実行脆弱性が存在します。A remote code execution vulnerability exists when Git interprets command-line arguments with certain quoting during a recursive clone in conjunction with SSH URLs. この脆弱性を悪用した攻撃者によって、ターゲット コンピューター上のコードがリモートで実行される可能性があります。An attacker who successfully exploited this vulnerability could remote execute code on the target machine. セキュリティ更新プログラムでは、この問題を解決する新しいバージョンの Git for Windows を使用して脆弱性に対処します。The security update addresses the vulnerability by taking a new version of Git for Windows which fixes the issue.

CVE-2019-1351 クローン中にアルファベット以外のドライブ名が使用されることが原因で発生する Git for Visual Studio の任意のファイル上書き脆弱性CVE-2019-1351 Git for Visual Studio Arbitrary File Overwrite Vulnerability due to usage of non-letter drive names during clone

アルファベット以外のドライブ名によって git clone での安全性チェックが省略される場合、Git には任意のファイル上書き脆弱性が存在します。An arbitrary file overwrite vulnerability exists in Git when non-letter drive names bypass safety checks in git clone. この脆弱性を悪用した攻撃者によって、ターゲット コンピューター上の任意のファイルに対して書き込みが行われる可能性があります。An attacker who successfully exploited this vulnerability could write to arbitrary files on the target machine. セキュリティ更新プログラムでは、この問題を解決する新しいバージョンの Git for Windows を使用して脆弱性に対処します。The security update addresses the vulnerability by taking a new version of Git for Windows which fixes the issue.

CVE-2019-1352 NTFS 代替データストリームを認識しないことが原因で発生する Git for Visual Studio のリモート実行脆弱性CVE-2019-1352 Git for Visual Studio Remote Excecution Vulnerability due to unawareness of NTFS Alternate Data Streams

NTFS 代替データ ストリームを介して git/ ディレクトリにクローンおよび書き込みを行う場合には、リモート コード実行脆弱性が存在します。A remote code execution vulnerability exists in Git when cloning and writing to .git/ directory via NTFS alternate data streams. この脆弱性を悪用した攻撃者によって、ターゲット コンピューター上のコードがリモートで実行される可能性があります。An attacker who successfully exploited this vulnerability could remote execute code on the target machine. このセキュリティ更新プログラムでは、NTFS 代替データ ストリームを認識するようになった新しいバージョンの Git for Windows を使用して脆弱性に対処します。The security update addresses the vulnerability by taking a new version of Git for Windows which has been made aware of NTFS alternate data streams.

CVE-2019-1354 バックスラッシュを含む追跡対象ファイルの書き出しを拒否しないことが原因で発生する Git for Visual Studio の任意のファイル上書き脆弱性CVE-2019-1354 Git for Visual Studio Arbitrary File Overwrite Vulnerability due to not refusing to write out tracked files containing backslashes

バックスラッシュや悪意のあるシンボリック リンクを含むツリー エントリが処理ツリーを抜け出す可能性がある場合には、Git に任意のファイル上書き脆弱性が存在します。An arbitrary file overwrite vulnerability exists in Git when tree entries with backslashes and malicious symlinks could break out of the work tree. この脆弱性を悪用した攻撃者によって、ターゲット コンピューター上の任意のファイルに対して書き込みが行われる可能性があります。An attacker who successfully exploited this vulnerability could write to arbitrary files on the target machine. セキュリティ更新プログラムでは、このようなバックスラッシュの使用を許可しない新しいバージョンの Git for Windows を使用して脆弱性に対処します。The security update addresses the vulnerability by taking a new version of Git for Windows which does not allow this usage of backslashes.

CVE-2019-1387 再帰的なクローンにおいてサブモジュール名の検証が緩すぎることが原因で発生する Git for Visual Studio のリモート実行脆弱性CVE-2019-1387 Git for Visual Studio Remote Execution Vulnerability due to too lax validation of submodule names in recursive clones

サブモジュールで再帰的なクローンを行う場合は、Git にリモート コード実行脆弱性が存在します。A remote code execution vulnerability exists in Git when cloning recursively with submodules. この脆弱性を悪用した攻撃者によって、ターゲット コンピューター上のコードがリモートで実行される可能性があります。An attacker who successfully exploited this vulnerability could remote execute code on the target machine. セキュリティ更新プログラムでは、サブモジュール名の検証を強化した新しいバージョンの Git for Windows を使用して脆弱性に対処します。The security update addresses the vulnerability by taking a new version of Git for Windows which tightens validation of submodule names.

CVE-2019-1486 Live Share の拡張 URL リダイレクト脆弱性CVE-2019-1486 Live Share extension URL redirection vulnerability

Live Share セッションに接続されているゲストが、セッション ホストによって指定された任意の URL にリダイレクトされたときに、Visual Studio Live Share 拡張機能でスプーフィング脆弱性が検出されました。A spoofing vulnerability was detected in the Visual Studio Live Share extension, when a guest connected to a Live Share session was redirected to an arbitrary URL specified by the session host. 攻撃者は、この脆弱性を悪用し、ゲストのコンピューターでブラウザーを開き、明示的な同意なしに悪意のある URL に移動できるようになっている可能性があります。An attacker would have been able to successfully exploit this vulnerability and cause the guest's computer to open a browser and navigate to a malicious URL without explicit consent. これは、アクティブな Live Share セッション中に自動ポート転送を許可する Live Share の "共有サーバー" 機能の一部でした。This was part of the "Shared Server" feature of Live Share that allowed auto-port forwarding during an active Live Share session. 最新の更新プログラムでは、ホストが指定した URL を参照する前に Live Share ゲストの同意を取り消すことで、この脆弱性に対処します。The latest update addresses this vulnerability by prompting the Live Share guest for consent prior to browsing the host-specified URL.


Release Notes Icon Visual Studio 2019 バージョン 16.4Visual Studio 2019 version 16.4

リリース日: 2019 年 12 月 3 日released December 3, 2019

Visual Studio 2019 バージョン 16.4 の新機能の概要Summary of What's New in Visual Studio 2019 version 16.4

  • Visual Studio で "FIPS 準拠モード" がサポートされました。Visual Studio now supports “FIPS compliance mode”
  • XAML デザイナーのズーム/位置の既定が [全体を表示] になりました。XAML Designer zoom/position now defaults to Fit All.
  • [データ バインドの作成] ダイアログが追加されました。Create Data Binding Dialog has been added.
  • regions の IntelliSense の機能強化Improvements to regions IntelliSense
  • XAML IntelliSense でのスニペットSnippets in XAML IntelliSense
  • デザイナーとは別のウィンドウでのポップアップ XAML エディターPop-up XAML editor as a separate window from designer
  • 参照されているアセンブリのリソースの表示Displaying resources for referenced assemblies
  • ライブ ビジュアル ツリーでの [自分の XAML のみ表示]Just My XAML in Live Visual Tree
  • リソース ディクショナリのマージMerge Resource Dictionary
  • XAML Islands のサポートXAML Islands support
  • [テンプレートの編集] が、サードパーティのコントロールで機能するようになりました。Edit Template now works with controsl from 3rd party controls.
  • Clang と MSVC の両方に対する、C++ MSBuild および CMake プロジェクトでの Clang-Tidy サポートClang-Tidy support in C++ MSBuild and CMake projects, for both Clang and MSVC.
  • Windows 用 MSVC でコンパイルされたプロジェクトの AddressSanitizer サポートAddressSanitizer support for projects compiled with MSVC on Windows.
  • ローカル Git リポジトリを GitHub に公開するためのサポート。Support for publishing local Git repositories to GitHub.
  • ご利用のドキュメント タブを縦書きドキュメント タブを使用した縦レイアウトに変更します。Change your document tabs to a vertical layout with Vertical Document Tabs.
  • このリリースの .NET の生産性の追加事項には、エラー リストでコード スタイル ルールの重要度レベルを直接構成する機能、[すべての参照の検索] に今回追加された種類およびメンバーごとにグループ化するオプション、ローカル関数を静的にして関数の外部で定義された変数を関数の宣言および呼び出しに渡すリファクタリングが含まれています。.NET Productivity additions in this release include the ability to configure the severity level of a code style rule directly in the error list, Find All References now has the option to group by type and member, and a refactoring to make a local function static and pass in variables defined outside of the function to the function's declaration and calls.
  • 新しいピン留め可能なプロパティ機能を使用して、デバッガー ウィンドウでのオブジェクトの表示方法を簡単にカスタマイズできます。Quickly customize how objects are displayed in debugger windows using the new Pinnable Properties feature.
  • コンテナー ツール ウィンドウにより、Docker コンテナーとイメージを検査、停止、開始、削除する機能が追加されました。Containers tool window adds the ability to inspect, stop, start, and remove Docker containers and images
  • ツール ウィンドウを自動的に非表示にすることで起動パフォーマンスを改善するオプションOption to improve startup peformance by auto hiding tool windows
  • 発行の依存関係を管理する場合、または接続済みサービスを使用する場合の、SQL Server および Azure Storage 接続文字列の自動検出Automatic detection of SQL Server and Azure Storage connections strings when managing publish dependencies or using Connected Services
  • 64 ビット ランタイムを使用する Azure Functions の開発サポートが追加されました。Added support for developing Azure Functions using the 64bit runtime.
  • .Net Core 3.0 のアプリの発行オプション: 実行準備完了 (Crossgen)、リンク、および SingleExe のサポートが追加されましたAdded support for .NET Core 3.0 app publishing options: Ready to Run (Crossgen), Linking, and SingleExe
  • このリリースでの .NET の生産性の追加には、エディターを使用してコード スタイル ルールの重大度レベルを直接構成する機能、新しい [Go To Base](ベースに移動) コマンドを使用する簡単な継承チェーンでの上への移動、すべてのパラメーターに対する null チェックの追加、およびメソッドをオーバーライドするための XML ドキュメントが含まれます。.NET Productivity additions in this release include the ability to configure the severity level of a code style rule directly through the editor, navigate easily up the inheritance chain with the new Go To Base command, adding null checks for all parameters, and XML documentation for overriding methods.
  • Xamarin.Forms 用の XAML ホット リロードXAML Hot Reload for Xamarin.Forms
  • Android アプリ バンドルの発行Android App Bundle Publishing
  • AndroidX 移行ウィザードAndroidX Migration Wizard
  • Android レイアウトの lintAndroid Layout Linting

Visual Studio 2019 バージョン 16.4 の新機能の詳細Details of What's new in Visual Studio 2019 version 16.4

Visual Studio で "FIPS 準拠モード" をサポートVisual Studio now supports “FIPS compliance mode”

バージョン 16.4 より、Windows、Azure、.NET 用のアプリとソリューションを開発するときに、Visual Studio 2019 で "FIPS 140-2 準拠モード" がサポートされるようになりました。Starting with version 16.4, Visual Studio 2019 now supports “FIPS 140-2 compliance mode” when developing apps and solutions for Windows, Azure, and .NET. Linux、iOS、Android などの Microsoft 以外のプラットフォーム向けのアプリやソリューションを開発している場合、これらのプラットフォームでは、FIPS 140-2 の承認されたアルゴリズムを使用できない可能性があります。When you’re developing apps or solutions for non-Microsoft platforms like Linux, iOS, or Android, these platforms may not use FIPS 140-2 approved algorithms. Visual Studio に含まれているサードパーティ製ソフトウェアまたはユーザーがインストールする拡張機能でも、FIPS 140-2 の承認されたアルゴリズムを使用できない場合があります。Third-party software included with Visual Studio or extensions that you install also may not use FIPS 140-2 approved algorithms. また、SharePoint ソリューションの開発では、FIPS 140-2 準拠モードはサポートされていません。In addition, development for SharePoint solutions does not support FIPS 140-2 compliance mode.

Visual Studio の FIPS 140-2 準拠モードを構成するには .NET Framework 4.8 をインストールし、次の Windows グループ ポリシー設定を有効にします: "システム暗号化: 暗号化、ハッシュ、署名のための FIPS 準拠アルゴリズムを使う。"To configure FIPS 140-2 compliance mode for Visual Studio, install .NET Framework 4.8 and enable the Windows group policy setting: “System cryptography: Use FIPS compliant algorithms for encryption, hashing, and signing.”

WPF/UWP ツールWPF/UWP Tooling

WPF/UWP アプリケーションを構築しているお客様は、Visual Studio XAML ツールの次の点が改善されます。Customers building WPF/UWP applications will see the following improvements in Visual Studio XAML tooling:

DesignerDesigner

  • XAML デザイナーのズーム/位置の既定が [全体を表示] になりました: お客様からのフィードバックに基づいて、XAML ウィンドウ/ページ/コントロールなどを開いたときに発生する既定の XAML デザイナーのズーム動作を再評価しました。以前のエクスペリエンスでは、Visual Studio セッション間で各ファイルのズーム レベルと位置が保存されていたため、顧客がしばらく時間を空けてファイルに戻ったときに混乱が発生しました。XAML Designer zoom/position now defaults to Fit All: Based on customer feedback we’ve reevaluated the default XAML Designer zoom behavior that occurs when you open a XAML window/page/control/etc. The previous experienced stored the zoom level and position for each file across Visual Studio sessions which caused confusion when customers were coming back to a file after some time had passed. このリリース以降、ズーム レベルと位置の保存はアクティブなセッションの期間だけ行われ、Visual Studio を再起動すると既定の [全体を表示] に戻ります。Starting with this release we will only store the zoom level and position for the duration of the active session and go back to a “fit all” default once Visual Studio is restarted.
  • [データ バインドの作成] ダイアログ: Visual Studio では、WPF .NET Framework 開発者は、XAML デザイナーとプロパティ エクスプローラーの右クリックからデータ バインド ダイアログを使用でき、このダイアログは以前は UWP 開発者も利用できました。Create Data Binding Dialog: Visual Studio has had a data binding dialog available to WPF .NET Framework developers from the right-click of the XAML Designer and Property Explorer, and this dialog was also previously available to UWP developers. このリリースでは、このエクスペリエンスを UWP 開発者に戻し、WPF .NET Core アプリケーションのサポートが追加されています。In this release we’re bringing back this experience to UWP developers and adding support for WPF .NET Core applications. この機能はまだ開発段階にあり、今後も改善され、.NET Framework ダイアログ機能との機能パリティが戻るようになります。This feature is still in development and will continue to improve in the future to bring back feature parity with .NET Framework dialog capabilities.

XAML エディターXAML Editor

  • #regions の IntelliSense の機能強化: #region のサポートは Visual Studio 2015 以降において WPF および UWP XAML の開発者が利用できるようになり、最近になって Xamarin.Forms で利用できるようになりました。Improvements to #regions IntelliSense: Starting with Visual Studio 2015 #region support has been available for WPF and UWP XAML developers and more recently for Xamarin.Forms. 今回のリリースでは、IntelliSense のバグが修正され、これにより <! の入力を始めたときに #regions が正しく表示されるようになりました。In this release we’ve fixed an IntelliSense bug, with this fix #regions will now show properly as you begin to type <!.
  • XAML IntelliSense でのスニペット: IntelliSense が拡張され、XAML スニペットの表示がサポートされるようになりました。これは、組み込みのスニペットと、手動で追加したカスタム スニペットの両方で機能します。Snippets in XAML IntelliSense: IntelliSense has been enhanced to support showing XAML snippets, this will work for both built-in snippets and any custom snippets that you add manually. このリリース以降、すぐに使用できる XAML スニペット (#region、列定義、行定義、セッター、タグ) も追加されています。Starting with this release we’re also including some out-of-the-box XAML snippets: #region, Column definition, Row definition, Setter and Tag.
  • デザイナーとは別のウィンドウでのポップアップ XAML エディター: XAML タブの横にある新しいポップアップ XAML ボタンを使用して、XAML デザイナーとその基になる XAML エディターを別々のウィンドウに簡単に分割できるようになりました。クリックすると、XAML デザイナーによって、アタッチされた XAML タブが最小化され、XAML エディター ビューだけの新しいウィンドウが開きます。Pop up XAML editor as a separate window from designer: It is now possible to easily split the XAML Designer and its underlying XAML editor into separate windows using the new Pop up XAML button next to the XAML tab. When clicked the XAML designer will minimize its attached XAML tab and pop open a new window for just the XAML editor view. この新しいウィンドウは、Visual Studio の任意の表示またはタブ グループに移動できます。You can move this new window to any display or tab group in Visual Studio. 元の XAML ビューを拡張することもできますが、同じファイルのすべての XAML ビューはリアルタイムで同期されたままであることに注意してください。Note that it is still possible to expand the original XAML view but regardless all XAML views of the same file will stay synchronized in real-time.
Pop up XAML code window
ポップアップ XAML コード ウィンドウPop up XAML code window
  • 参照されているアセンブリのリソースの表示: XAML IntelliSense が更新され、WPF Framework および WPF .NET Core プロジェクトで、参照されているアセンブリの XAML リソースの表示がサポートされるようになりました (ソースが使用できない場合)。Displaying resources for referenced assemblies: XAML IntelliSense has been updated to support displaying XAML resources from a referenced assembly (when source is not available) for WPF Framework and WPF .NET Core projects.

XAML デバッグ ツールXAML Debugging Tools

  • ライブ ビジュアル ツリーでの [自分の XAML のみ表示]: ライブ ビジュアル ツリーは、UWP と WPF の両方の開発者がデバッグ モードでアプリケーションを実行するときに使用できる機能であり、XAML ホット リロードに関連するライブ編集ツールの一部です。Just My XAML in Live Visual Tree: The Live Visual Tree is a feature that is available to both UWP and WPF developers when they run their application in debug mode and is part of the live editing tooling related to XAML Hot Reload. 以前の機能では、アタッチされた実行中のアプリケーションの完全なライブ ビジュアル ツリーが表示され、アプリ内で記述した XAML だけを表示するフィルターはありませんでした。Previously the feature would display the full live visual tree of the attached running application with no filter possible to see just the XAML you’ve written in your app. そのため、エクスペリエンスには関係のないものが多く含まれていました。お客様からのフィードバックに基づいて、アプリケーション内で記述したコントロールだけにツリーを制限する [自分の XAML のみ表示] という新しい既定値を追加しました。This made for a very noisy experience and based on customer feedback we’ve added a new default called “Just My XAML” which will limit the tree to just controls you wrote in your application. これは新しい既定値ですが、ライブ ビジュアル ツリー自体内のボタンまたは新しい設定 ([オプション] > [デバッグ] > [全般] > [自分の XAML のみ表示]) を使用して、以前の動作に戻すこともできますWhile this is the new default it is still possible to go back to the previous behavior through either the button within tine Live Visual Tree itself or through a new setting (found under: Options > Debugging > General > Enable Just My XAML)
Show Just My XAML in Live Visual Tree
ライブ ビジュアル ツリーでの [自分の XAML のみ表示]Show Just My XAML in Live Visual Tree

リソースとテンプレートResources & Templates

  • リソース ディクショナリのマージ: ソリューション エクスプローラーで利用できる新しい機能を使用して、UWP/WPF プロジェクト内の既存のリソース ディクショナリを、任意の有効な XAML ファイルと簡単にマージできるようになりました。Merge Resource Dictionary: It is now possible to easily merge an existing resource dictionary within your UWP/WPF project with any valid XAML file using the new feature available through the solution explorer. マージ ステートメントを追加する XAML ファイルを開き、マージするファイルを見つけて、ソリューション エクスプローラーでそのファイルを右クリックします。Simply open the XAML file in which you want to add the merge statement, then find the file you wish to merge in and right-click on it in solution explorer. コンテキスト メニューで、[Merge Resource Dictionary Into Active Window](リソース ディクショナリをアクティブ ウィンドウにマージする) オプションを選択します。これにより、パスを含む適切なマージ XAML が追加されます。In the context menu select the option “Merge Resource Dictionary Into Active Window”, which will add the right merge XAML with path.
Merge Resource Dictionary
リソース ディクショナリのマージMerge Resource Dictionary
  • [テンプレートの編集] がサードパーティのコントロールで機能するようになった: ソース コードとしてソリューションに含まれていない場合でも、コントロール テンプレートのコピーを作成できるようになりました。Edit Template now works with controls from 3rd party controls: It is now possible to create a copy of a controls template even when it’s not part of your solution as source code. この変更により、[テンプレートの編集] 機能が使用できるようになり、ソースが現在利用可能なファースト パーティ要素の場合と同様に動作するようになります。With this change the “Edit Template” feature will now be available and work as it does for 1st party elements where the source is available today. この機能は、サード パーティ製のコントロール ライブラリと、ソースが使用できないファースト パーティの両方に適用されることに注意してください。Note that this feature is applicable to both 3rd party control libraries and 1st party where source isn’t available.

XAML Islands:XAML Islands:

  • 強化された XAML Islands のサポート: Windows フォームと WPF .NET Core 3 アプリでの XAML Islands のシナリオのサポートが追加され、これらのアプリケーションに UWP XAML コントロールを簡単に追加できるようになりました。Improved XAML Island support: We’ve added support for XAML Islands scenario for Windows Forms and WPF .NET Core 3 apps making it easier to add UWP XAML control into these applications. これらの機能強化により、.NET Core 3 プロジェクトで、カスタム UWP XAML コントロールを含む UWP プロジェクトへの参照を行うことができます。With these improvements a .NET Core 3 project can a reference to UWP project that contains custom UWP XAML controls. それらのカスタム コントロールは、Windows Community Toolkit v6 (Microsoft.Toolkit.Wpf.UI.XamlHost v6.0) で提供されている WindowsXamlHost コントロールで使用できます。Those custom controls can be used by the WindowsXamlHost controls shipped within the Windows Community Toolkit v6 (Microsoft.Toolkit.Wpf.UI.XamlHost v6.0). Windows アプリケーション パッケージ プロジェクトを使用して、.NET Core 3 の MSIX を Islands で生成することもできます。You can also use the Windows Application Packaging project to generates MSIX for you .NET Core 3 with Islands. 作業を開始する方法については、ドキュメントを参照してください。To learn how to get started visit our documentation.

C++C++

  • コード分析では、Clang と MSVC ツールセットのどちらを使用しているかにかかわらず、MSBuild と CMake の両方のプロジェクトで Clang-Tidy がネイティブにサポートされるようになりました。Code Analysis now natively supports Clang-Tidy for both MSBuild and CMake projects, whether you're using a Clang or MSVC toolset. clang-tidy チェックは、バックグラウンド コード分析の一部として実行し、エディター内警告 (波線) として示し、エラー一覧に表示できます。clang-tidy checks can run as part of background code analysis, appear as in-editor warnings (squiggles), and display in the Error List.
Clang-Tidy warnings in the Error List
エラー一覧での Clang-Tidy 警告Clang-Tidy warnings in the Error List
  • クロスプラットフォームの開発を開始するのに役立つ概要ページが Visual Studio CMake プロジェクトに追加されました。Visual Studio CMake projects now have Overview Pages to help you get started with cross-platform development. これらのページを使用すると、Linux システムに接続し、ご利用の CMake プロジェクトに Linux または WSL 構成を追加するのが楽になります。These pages are dynamic and help you connect to a Linux system and add a Linux or WSL configuration to your CMake project.
CMake Overview Pages
CMake の概要ページCMake Overview Pages
  • CMake プロジェクト用の起動ドロップダウン メニューに、最近使用したターゲットが表示され、フィルター処理できるようになりました。The launch drop-down menu for CMake projects now displays your most recently used targets and can be filtered.
  • C++/CLI では、Windows 用の .NET Core 3.1 以降との相互運用がサポートされるようになりました。C++/CLI now supports interop with .NET Core 3.1 and higher on Windows.
  • メモリ エラーの検出に役立つ C++ コードのランタイム インスツルメンテーションのために、Windows 上の MSVC でコンパイルされたプロジェクトに対して ASan を有効にできるようになりました。You can now enable ASan for projects compiled with MSVC on Windows for runtime instrumentation of C++ code that helps with detection of memory errors.
  • MSVC の C++ 標準ライブラリに対する更新:Updates to MSVC's C++ Standard Library:
    • C++17: to_chars() の一般的表記が実装され、 P0067R5 の基本文字列変換 (charconv) が完了しました。C++17: Implemented to_chars() general precision, completing P0067R5 Elementary String Conversions (charconv). これにより、C++17 標準のすべてのライブラリ機能の実装が完了します。This completes implementation of all library features in the C++17 Standard.
    • C++20: P1754R1 の名前変更概念が standard_case に実装されました。C++20: Implemented P1754R1 Rename concepts to standard_case. 最新の C++ Working Draft のプレビュー機能を含めるには、コンパイラ フラグ /std:c++latest を使用します。このフラグは、C/C++ の言語プロジェクト プロパティ ページの C++ 言語標準プロパティでも設定できます。To include preview features from the Latest C++ Working Draft, use the compiler flag /std:c++latest; the flag can also be set in the C/C++ > Language project property page via the C++ Language Standard property.
  • C++ Build Insights という名前の新しいツールのコレクションを使用できるようになりました。A new collection of tools named C++ Build Insights is now available. 詳細については、「C++ チーム ブログ」を参照してください。See the C++ Team Blog for more information.

GitHub サポートに発行するPublish to GitHub Support

  • Visual Studio 用の GitHub 拡張機能の一部であった GitHub への発行機能が、Visual Studio の GitHub Essentials に含まれるようになりました。The publish to GitHub feature that was a part of the GitHub Extension for Visual Studio is now included in Visual Studio’s GitHub Essentials.
  • チーム エクスプローラーの同期ページにある [GitHub に発行] ボタンを使用して、ローカル Git リポジトリを GitHub に発行できるようになりました。You can now publish local Git repositories to GitHub using the Publish to GitHub button on Team Explorer Synchronization page.

Visual Studio の縦書きドキュメント タブVertical Document Tabs in Visual Studio

ご利用のエディターの左側または右側にある縦に並んだ一覧でご自分のドキュメント タブを管理します。Manage your document tabs in a vertical list on either the left or right side of your editor.

Visual Studio の縦書きドキュメント タブVertical Document Tabs in Visual Studio

ピン留め可能なプロパティ デバッグ ツールPinnable Properties Debugging Tool

ピン留め可能なプロパティ機能を使用して、DataTips または [ウォッチ]、[自動変数]、[ローカル] の各ウィンドウの上部にプロパティをピン留めすることで、デバッグ時にオブジェクトをすばやく特定して検査できるようになりました。You can now quickly identify and inspect objects at debug-time by pinning properties to the top of DataTips or the Watch, Autos, and Locals windows using the Pinnable Properties feature.

Visual Studio でのピン留め可能なプロパティPinnable Properties in Visual Studio

コンテナー ツール ウィンドウContainers tool window

  • コンテナーの一覧表示、検査、停止、開始、削除を行うことができます。You can list, inspect, stop, start, and remove containers
  • 実行中のコンテナーのログとファイルの内容を表示したり、コンテナー内にターミナル ウィンドウを開いたりすることができます。You can view logs and file contents for running containers, as well as open a terminal window into the containers
  • イメージの表示、検査、削除を行うことができます。
    You can view, inspect, and remove images
    Visual Studio のコンテナー ツール ウィンドウContainers tool window in Visual Studio

ツール ウィンドウを自動的に非表示にするAutohide tool windows

このプレビュー機能オプションを有効にすると、複数のツール ウィンドウを開いた状態で Visual Studio を起動することで生じる起動遅延をスキップできます。Enabling this preview feature option allows you to skip startup delays introduced by launching Visual Studio with multiple tool windows opened.

.NET の生産性.NET Productivity

  • エラー リストを使用して、コード スタイル ルールの重要度レベルを直接構成できるようになりました。You can now configure the severity level of a code style rule directly through the error list. エラー、警告、または提案にカーソルを置きます。Place your cursor on the error, warning, or suggestion. 右クリックし、 [重要度の設定] を選択します。Right click and select Set severity. その後、そのルールに対して構成する重要度レベルを選びます。Then select the severity level you would like to configure for that rule. これにより、既存の EditorConfig がルールの新しい重要度で更新されます。This will update your existing EditorConfig with the rule’s new severity. これは、サードパーティのアナライザーでも機能します。This also works for third party analyzers.
Set rule severity directly through the error list
エラー リストを使用してルールの重要度を直接設定するSet rule severity directly through the error list
  • [すべての参照の検索] を使用すると、種類とメンバーでグループ化できます。Find All References now allows you to group by type and member.
Group by type and member in Find All References
[すべての参照の検索] での種類とメンバーによるグループ化Group by type and member in Find All References
  • ローカル関数を静的にし、関数の外部で定義された変数を関数の宣言と呼び出しに渡すことができるようになりました。You can now make a local function static and pass in variables defined outside the function to the function’s declaration and calls. ローカル関数名にカーソルを置きます。Place your cursor on the local function name. (Ctrl + . ) キーを押して、 [クイック アクションとリファクタリング] メニューをトリガーします。Press (Ctrl+.) to trigger the Quick Actions and Refactorings menu. [ローカル関数の作成]static を選択します。Select Make local function static.
Make local function static
ローカル関数を静的にするMake local function static
  • ローカルの静的関数に変数を明示的に渡すことができるようになりました。You can now pass a variable explicitly into a local static function. ローカルの静的関数内の変数にカーソルを置きます。Place your cursor on the variable in the static local function. (Ctrl + . ) キーを押して、 [クイック アクションとリファクタリング] メニューをトリガーします。Press (Ctrl+.) to trigger the Quick Actions and Refactorings menu. [ローカルの静的関数で変数を明示的に渡す] を選択します。Select Pass variable explicitly in local static function.
Pass a variable into a local static function
ローカルの静的関数に変数を渡すPass a variable into a local static function

.NET の生産性.NET Productivity

  • エディターを使用して、コード スタイル ルールの重大度レベルを直接構成できるようになりました。You can now configure the severity level of a code style rule directly through the editor. 現在、ユーザーが .editorconfig ファイルを持っていない場合は、1 つ生成されます。If a user does not currently have an .editorconfig file, one will be generated for them. エラー、警告、または修正候補にカーソルを置き、(Ctrl + . ) キーを押して [クイック アクションとリファクタリング] メニューを開きます。Place your cursor on the error, warning, or suggestion and type (Ctrl+.) to open the Quick Actions and Refactorings menu. [Configure or Suppress issues](問題の構成または抑制) を選択します。Select ‘Configure or Suppress issues’. その後、ルールを選択し、そのルールに対して構成する重要度レベルを選びます。Then select the rule and choose the severity level you would like to configure for that rule. これにより、既存の EditorConfig がルールの新しい重要度で更新されます。This will update your existing EditorConfig with the rule’s new severity. これは、サードパーティのアナライザーでも機能します。This also works for third party analyzers.
Set rule severity directly through the editor
エディターを使用してルールの重要度を直接設定するSet rule severity directly through the editor
  • [Go To Base](ベースに移動) コマンドを使用して、継承チェーンを上に移動できるようになりました。You can now use the Go To Base command to navigate up the inheritance chain. [Go To Base](ベースに移動) コマンドは、継承階層内を移動する要素のコンテキスト (右クリック) メニューで使用できます。Go To Base command is available on the context (right-click) menu of the element you want to navigate the inheritance hierarchy. (Alt + Home) キーを押すこともできます。Or you can type (Alt+Home). 複数の結果がある場合は、移動先として選択できるすべての結果が表示されたツール ウィンドウが開きます。If there is more than one result a tool window will open with all of the results that you can choose to navigate to.
Go To Base
ベースに移動Go To Base
  • すべてのパラメーターに対して null チェックを追加できるようになりました。You can now add null checks for all parameters. これにより、Null 許容の、チェックのないパラメーターがすべて無効であることを確認する、if ステートメントが追加されます。This will add if statements that check nullity of all the nullable, non-checked parameters. メソッド内の任意のパラメーターにカーソルを置きます。Place your cursor on any parameter within the method. (Ctrl + . ) キーを押して、 [クイック アクションとリファクタリング] メニューをトリガーします。Press (Ctrl+.) to trigger the Quick Actions and Refactorings menu. [すべてのパラメーターに対して null チェックを追加する] オプションを選択します。Select the option to ‘Add null checks for all parameters’.
Add null checks for all parameters
すべてのパラメーターに対して null チェックを追加するAdd null checks for all parameters
  • XML ドキュメントが含まれていないメソッドでは、オーバーライドするメソッドから XML ドキュメントを自動的に継承できるようになりました。Methods that have no XML documentation can now automatically inherit XML documentation from the method it is overriding. ドキュメント化されたインターフェイス メソッドを実装する、ドキュメント化されていないメソッドの上にカーソルを置きます。Place your cursor over the undocumented method that implements a documented interface method. その後、クイック ヒントにインターフェイス メソッドからの XML ドキュメントが表示されます。Quick Info will then display the XML documentation from the interface method.
XML inherit documentation
XML のドキュメントの継承XML inherit documentation

XamarinXamarin

Xamarin.Forms 用の XAML ホット リロードXAML Hot Reload for Xamarin.Forms

Xamarin.Forms 用の XAML ホット リロードを使用すると、開発時間が短縮され、ユーザー インターフェイスに関するビルド、実験、反復処理が容易になります。XAML Hot Reload for Xamarin.Forms speeds up your development and makes it easier to build, experiment, and iterate on your user interface. UI を微調整するたびにアプリをビルドし直す必要がなくなります。実行中のアプリで変更がすぐに表示されます。You no longer have to rebuild your app each time you tweak your UI – it instantly shows you your changes in your running app.

Android アプリ バンドルの発行Android App Bundle Publishing

Visual Studio で Android アプリケーションを発行するときに、Android アプリ バンドルを作成できるようになりました。You can now create Android App Bundles when publishing your Android applications in Visual Studio. Google Play ストアまたはさまざまな Android アプリ ストアからアプリをダウンロードするときに、ユーザーのデバイスの仕様に従って最適化された APK が、アプリ バンドルによってユーザーに提供されます。App Bundles provide users with with optimized APKs per their device specifications when downloading an app from the Google Play Store or various Android App Stores.

Android App Bundle Publishing
Android アプリ バンドルの発行Android App Bundle Publishing

AndroidX 移行ウィザードAndroidX Migration Wizard

AndroidX 移行ウィザードを使用して、Android サポート ライブラリから既存の Android アプリケーションを AndroidX に変換できるようになりました。You can now use an AndroidX migration wizard to convert your existing Android application to AndroidX from the Android Support Library.

AndroidX Migration Wizard
AndroidX 移行ウィザードAndroidX Migration Wizard

Android レイアウトの lintAndroid Layout Linting

Android デザイナー内でレイアウトを編集するときに、一般的な問題のセットが提供されるようになりました。You are now provided a set of common issues when editing your layouts inside the Android designer.

Android Layout Linting
Android レイアウトの lintAndroid Layout Linting

Visual Studio 2019 バージョン 16.4 で修正された主要なイシューTop Issues Fixed in Visual Studio 2019 version 16.4


既知の問題Known Issues

Visual Studio 2019 バージョン 16.4 のすべての問題と利用可能な回避策については、以下のリンクを参照してください。See all issues and available workarounds in Visual Studio 2019 version 16.4 by following the below link.

Visual Studio 2019 Known Issues Visual Studio 2019 Known Issues


フィードバックFeedback

皆様のご意見をお待ちしております。We would love to hear from you! 問題がある場合は、インストーラーまたは Visual Studio IDE 自体の右上隅にある [問題の報告] オプションからお知らせください。For issues, let us know through the Report a Problem option in the upper right-hand corner of either the installer or the Visual Studio IDE itself. 次に、The Feedback Icon アイコンは、右上隅にあります。icon is located in the upper right-hand corner. 製品に関する提案をしたり、Visual Studio 開発者コミュニティで問題を追跡したりすることにより、質問、回答の検索、新機能を提案したりすることができます。You can make a product suggestion or track your issues in the Visual Studio Developer Community, where you can ask questions, find answers, and propose new features. ライブ チャット サポートを介して、無料のインストールのヘルプを取得することもできます。You can also get free installation help through our Live Chat support.


ブログBlogs

開発者ツールのブログ サイトで利用できる洞察と推奨事項を活用して、すべての新リリースを常に最新の状態に保ち、幅広い機能の深いダイブポストを含めることができます。開発者ツールのブログを参照すると、すべての新しいリリースに関する最新情報を入手することができ、さまざまな機能の詳細な記事が含まれています。Take advantage of the insights and recommendations available in the Developer Tools Blogs site to keep you up-to-date on all new releases and include deep dive posts on a broad range of features.


Visual Studio 2019 リリース ノート履歴Visual Studio 2019 Release Notes History

過去のバージョンの Visual Studio 2019 に関連する詳細については、「Visual Studio 2019 リリース ノート履歴」のページを参照してください。For more information relating to past versions of Visual Studio 2019, see the Visual Studio 2019 Release Notes History page.


ページのトップへ
Top of Page