{"id":232580,"date":"2021-05-25T07:55:03","date_gmt":"2021-05-25T14:55:03","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/visualstudio\/?p=232580"},"modified":"2021-05-25T08:20:45","modified_gmt":"2021-05-25T15:20:45","slug":"visual-studio-2019-v16-10-and-v16-11-preview-1-are-available-today","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/visualstudio\/visual-studio-2019-v16-10-and-v16-11-preview-1-are-available-today\/","title":{"rendered":"Visual Studio 2019 v16.10 and v16.11 Preview 1 are Available Today!"},"content":{"rendered":"<h2>What\u2019s new in Visual Studio 2019 v16.10?<\/h2>\n<p>We are excited to announce the release of Visual Studio 2019 v16.10 GA and v16.11 preview 1. This release makes our theme of developer productivity and convenience Generally Available to Visual Studio users! We\u2019ve added C++20 features, improved Git integration, improved profiling tools, and a host of features that accelerate productivity.<\/p>\n<p><a href=\"https:\/\/visualstudio.microsoft.com\/vs\/\" target=\"_blank\" rel=\"noopener\">Download the latest Visual Studio release<\/a> to try the new features in 16.10. And as always, we love your feedback and interactions through our <a href=\"https:\/\/developercommunity2.visualstudio.com\/home\" target=\"_blank\" rel=\"noopener\">Developer Community<\/a>.<\/p>\n<p><div  class=\"d-flex justify-content-center\"><a class=\"cta_button_link btn-primary mb-24\" href=\"https:\/\/visualstudio.microsoft.com\/vs\/\" target=\"_blank\">Install Visual Studio 2019 v16.10<\/a><\/div><\/p>\n<h3>C++<\/h3>\n<p>Our compiler and STL are now feature-complete for the latest available C++20 standard! 16.10 comes with a few much-anticipated features: calendars, timezones and &lt;format&gt;. These features are all available under the \/std:c++latest switch. The \/std:c++20 switch is not yet available as some features are expected to be amended by Defect Reports (ISO C++20 bug fixes) in an ABI-incompatible way (see <a title=\"Original URL: https:\/\/github.com\/microsoft\/STL\/issues\/1814. Click or tap if you trust this link.\" href=\"https:\/\/github.com\/microsoft\/STL\/issues\/1814\" target=\"_blank\" rel=\"noopener noreferrer\" data-auth=\"Verified\" data-linkindex=\"0\">Microsoft\/STL Issue #1814<\/a>\u00a0for more details).<\/p>\n<p>The <a href=\"https:\/\/en.cppreference.com\/w\/cpp\/header\/format\" target=\"_blank\" rel=\"noopener\">&lt;format&gt;<\/a> is a new facility for text formatting based on <a href=\"https:\/\/fmt.dev\/latest\/index.html\" target=\"_blank\" rel=\"noopener\">fmtlib<\/a>. It provides a fast and safe alternative to iostreams and the printf family:<\/p>\n<pre style=\"padding-left: 40px;\">auto version = 20;\r\nstd::format(\u201cSTL is now C++{} feature-complete!\u201d, version);<\/pre>\n<p>Calendars and timezones are an extension to the existing <a href=\"https:\/\/en.cppreference.com\/w\/cpp\/chrono\" target=\"_blank\" rel=\"noopener\">&lt;chrono&gt;<\/a> facilities. They provide functionality for representing and manipulating dates and times in a type-safe and time-zone aware fashion.<\/p>\n<pre style=\"padding-left: 40px;\">std::chrono::year_month_day world_bee_day = May\/20d\/2021y\r\nstd::format(\"Buzz buzz on %F!\u201d, world_bee_day);<\/pre>\n<p>In addition, we\u2019ve improved the IntelliSense experience for Modules, Ranges, and Concepts. Go-to-definition works on both modules themselves and definitions imported from modules. Ranges are notoriously difficult to process for the compiler, but IntelliSense can now give you completion for them. You\u2019ll also get completion for names defined within concepts.<\/p>\n<p><figure id=\"attachment_232582\" aria-labelledby=\"figcaption_attachment_232582\" class=\"wp-caption aligncenter\" ><img decoding=\"async\" class=\"wp-image-232582 size-full\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/word-image.gif\" alt=\"Visual Studio now has completions for Ranges.\" width=\"550\" \/><figcaption id=\"figcaption_attachment_232582\" class=\"wp-caption-text\">Visual Studio now has completions for Ranges.<\/figcaption><\/figure><\/p>\n<p>The LLVM OpenMP runtime is now supported on x86 and ARM64, in addition to x64. Pass the \/openmp:llvm switch to target it.<\/p>\n<p>If you want to use C++20-style coroutines but are targeting C++11 or C++14, you can now use the \/await:strict switch to get the desired behavior.<\/p>\n<p>We\u2019ve improved our coroutine debugging and visualization. In particular, the visualization for std::coroutine_handle&lt;T&gt; now displays the original coroutine function name and signature and the current suspend point.<\/p>\n<p><figure id=\"attachment_232583\" aria-labelledby=\"figcaption_attachment_232583\" class=\"wp-caption aligncenter\" ><img decoding=\"async\" class=\"wp-image-232583 size-full\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/word-image.png\" alt=\"Coroutine debugging and visualization has been improved.\" width=\"550\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/word-image.png 698w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/word-image-300x21.png 300w\" sizes=\"(max-width: 698px) 100vw, 698px\" \/><figcaption id=\"figcaption_attachment_232583\" class=\"wp-caption-text\">Coroutine debugging and visualization has been improved.<\/figcaption><\/figure><\/p>\n<p>If you\u2019re using our CMake support then you\u2019ll now be able to use <a href=\"https:\/\/cmake.org\/cmake\/help\/latest\/manual\/cmake-presets.7.html\" target=\"_blank\" rel=\"noopener\">CMakePresets<\/a> to specify configurations rather than CMakeSettings.json. This format is consistent across Visual Studio, Visual Studio Code, and any other tools which support this new standard.<\/p>\n<h3>Git Productivity<\/h3>\n<p>The status bar has a new branch picker that allows you to filter local and remote branches and perform common actions from the right click context menu.<\/p>\n<p><figure id=\"attachment_232584\" aria-labelledby=\"figcaption_attachment_232584\" class=\"wp-caption aligncenter\" ><img decoding=\"async\" class=\"wp-image-232584 size-full\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/branch-picker-in-the-status-bar-.png\" alt=\"Branch picker in the status bar.\" width=\"550\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/branch-picker-in-the-status-bar-.png 400w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/branch-picker-in-the-status-bar--300x291.png 300w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><figcaption id=\"figcaption_attachment_232584\" class=\"wp-caption-text\">Branch picker in the status bar.<\/figcaption><\/figure><\/p>\n<p>The branch picker in the status bar as well as the Git Changes window now check out a local or remote branch when you single-select the branch.<\/p>\n<p><figure id=\"attachment_232585\" aria-labelledby=\"figcaption_attachment_232585\" class=\"wp-caption aligncenter\" ><img decoding=\"async\" class=\"wp-image-232585 size-full\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/left-click-to-check-out-a-branch-and-right-click-f.png\" alt=\"Left click to check out a branch and right click for additional actions.\" width=\"550\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/left-click-to-check-out-a-branch-and-right-click-f.png 400w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/left-click-to-check-out-a-branch-and-right-click-f-300x210.png 300w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><figcaption id=\"figcaption_attachment_232585\" class=\"wp-caption-text\">Left click to check out a branch and right click for additional actions.<\/figcaption><\/figure><\/p>\n<p>Filter and switch between local Git repositories from the status bar repository picker. The context menu on right-click allows you to remove items from the list.<\/p>\n<p><figure id=\"attachment_232586\" aria-labelledby=\"figcaption_attachment_232586\" class=\"wp-caption aligncenter\" ><img decoding=\"async\" class=\"wp-image-232586 size-full\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/remove-items-from-the-repository-picker-list-throu.png\" alt=\"Remove items from the repository picker list through the context menu.\" width=\"550\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/remove-items-from-the-repository-picker-list-throu.png 400w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/remove-items-from-the-repository-picker-list-throu-300x296.png 300w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><figcaption id=\"figcaption_attachment_232586\" class=\"wp-caption-text\">Remove items from the repository picker list through the context menu.<\/figcaption><\/figure><\/p>\n<p>Sync (Pull then Push) your branch with the remote from the unpushed commits button in the status bar, and from the Sync command in the Git Menu.<\/p>\n<p><figure id=\"attachment_232587\" aria-labelledby=\"figcaption_attachment_232587\" class=\"wp-caption aligncenter\" ><img decoding=\"async\" class=\"wp-image-232587 size-full\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/sync-button-in-the-status-bar-.png\" alt=\"Sync button in the status bar.\" width=\"550\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/sync-button-in-the-status-bar-.png 400w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/sync-button-in-the-status-bar--300x141.png 300w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><figcaption id=\"figcaption_attachment_232587\" class=\"wp-caption-text\">Sync button in the status bar.<\/figcaption><\/figure><\/p>\n<p>Fetch and pull from the Git Repository window history pane even when there are no incoming commits. Access these sections from the status bar or the keyboard shortcut Ctrl+0+Y.<\/p>\n<p><figure id=\"attachment_232588\" aria-labelledby=\"figcaption_attachment_232588\" class=\"wp-caption aligncenter\" ><img decoding=\"async\" class=\"wp-image-232588 size-full\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/incoming-section-in-git-repository-window-with-a-c.png\" alt=\"Incoming section in Git Repository window with a callout to fetch and pull buttons.\" width=\"550\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/incoming-section-in-git-repository-window-with-a-c.png 600w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/incoming-section-in-git-repository-window-with-a-c-300x53.png 300w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><figcaption id=\"figcaption_attachment_232588\" class=\"wp-caption-text\">Incoming section in Git Repository window with a callout to fetch and pull buttons.<\/figcaption><\/figure><\/p>\n<p>Select a commit in the Git Repository window to view its details and the comparison of file changes without having to navigate to other windows. Select two commits and right-click to compare them in the same window. Pop out the details into their own window for full screen visibility to deep-dive into the changes.<\/p>\n<p><figure id=\"attachment_232589\" aria-labelledby=\"figcaption_attachment_232589\" class=\"wp-caption aligncenter\" ><img decoding=\"async\" class=\"wp-image-232589 size-full\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/embedded-commit-details-and-file-comparison-in-git.png\" alt=\"Embedded commit details and file comparison in Git Repository window.\" width=\"550\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/embedded-commit-details-and-file-comparison-in-git.png 800w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/embedded-commit-details-and-file-comparison-in-git-300x179.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/embedded-commit-details-and-file-comparison-in-git-768x457.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption id=\"figcaption_attachment_232589\" class=\"wp-caption-text\">Embedded commit details and file comparison in Git Repository window.<\/figcaption><\/figure><\/p>\n<p>View the number of deletions and insertions in a file, and change the layout of the comparison.<\/p>\n<p><figure id=\"attachment_232590\" aria-labelledby=\"figcaption_attachment_232590\" class=\"wp-caption aligncenter\" ><img decoding=\"async\" class=\"wp-image-232590 size-full\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/graphical-user-interface-text-application-descr.png\" alt=\"Multiple commit windows popped out.\" width=\"550\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/graphical-user-interface-text-application-descr.png 800w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/graphical-user-interface-text-application-descr-300x134.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/graphical-user-interface-text-application-descr-768x343.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption id=\"figcaption_attachment_232590\" class=\"wp-caption-text\">Multiple commit windows popped out.<\/figcaption><\/figure><\/p>\n<p>You can perform even more actions now from the Git Changes window. The toolbar icons are customizable and you can choose which actions to show. You can Sync with multiple remotes from the overflow menu. And you can open your repository\u2019s remote webpage in the browser.<\/p>\n<p><figure id=\"attachment_232591\" aria-labelledby=\"figcaption_attachment_232591\" class=\"wp-caption aligncenter\" ><img decoding=\"async\" class=\"wp-image-232591 size-full\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/git-changes-overflow-menu-with-callouts-to-sync-o.png\" alt=\"Git Changes overflow menu with callouts to Sync, open in browser, and toolbar actions.\" width=\"550\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/git-changes-overflow-menu-with-callouts-to-sync-o.png 500w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/git-changes-overflow-menu-with-callouts-to-sync-o-300x262.png 300w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><figcaption id=\"figcaption_attachment_232591\" class=\"wp-caption-text\">Git Changes overflow menu with callouts to Sync, open in browser, and toolbar actions.<\/figcaption><\/figure><\/p>\n<p>Automatically re-connect or prompt to establish initial Azure DevOps connection when opening an Azure DevOps Git repository. This enables access to work items and builds for the opened repository.<\/p>\n<p><figure id=\"attachment_232592\" aria-labelledby=\"figcaption_attachment_232592\" class=\"wp-caption aligncenter\" ><img decoding=\"async\" class=\"wp-image-232592 size-full\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/graphical-user-interface-application-description.png\" alt=\"Info bar prompting Azure DevOps initial connection when missing\" width=\"550\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/graphical-user-interface-application-description.png 400w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/graphical-user-interface-application-description-300x80.png 300w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><figcaption id=\"figcaption_attachment_232592\" class=\"wp-caption-text\">Info bar prompting Azure DevOps initial connection when missing<\/figcaption><\/figure><\/p>\n<p>When resolving rebase or merge conflicts, the merge editor and the context menu will show you the branch names for the Current and Incoming branches. This fixes the\u00a0<a href=\"https:\/\/developercommunity.visualstudio.com\/t\/resolve-conflict-source-and-target-is-confusing\/502400\" target=\"_blank\" rel=\"noopener\">confusing Source and Target terminology<\/a> issue.<\/p>\n<p><figure id=\"attachment_232593\" aria-labelledby=\"figcaption_attachment_232593\" class=\"wp-caption aligncenter\" ><img decoding=\"async\" class=\"wp-image-232593 size-full\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/context-menu-when-resolving-conflicts-displays-the.png\" alt=\"Context menu when resolving conflicts displays the branch names\" width=\"550\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/context-menu-when-resolving-conflicts-displays-the.png 400w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/context-menu-when-resolving-conflicts-displays-the-223x300.png 223w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><figcaption id=\"figcaption_attachment_232593\" class=\"wp-caption-text\">Context menu when resolving conflicts displays the branch names<\/figcaption><\/figure><\/p>\n<p>&nbsp;<\/p>\n<p><figure id=\"attachment_232594\" aria-labelledby=\"figcaption_attachment_232594\" class=\"wp-caption aligncenter\" ><img decoding=\"async\" class=\"wp-image-232594 size-full\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/rebase-and-merge-editor-displays-branch-names-in-t.png\" alt=\"Rebase and Merge editor displays branch names in the heading\" width=\"550\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/rebase-and-merge-editor-displays-branch-names-in-t.png 800w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/rebase-and-merge-editor-displays-branch-names-in-t-300x45.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/rebase-and-merge-editor-displays-branch-names-in-t-768x116.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption id=\"figcaption_attachment_232594\" class=\"wp-caption-text\">Rebase and Merge editor displays branch names in the heading<\/figcaption><\/figure><\/p>\n<p>We added menu items that are shortcuts to the PR creation and list pages to make it easier to create and view pull requests. The menu is dynamic based on whether your repository is on GitHub or Azure DevOps.<\/p>\n<p><figure id=\"attachment_232595\" aria-labelledby=\"figcaption_attachment_232595\" class=\"wp-caption aligncenter\" ><img decoding=\"async\" class=\"wp-image-232595 size-full\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/create-a-pr-and-view-list-of-prs-on-the-web-from-t.png\" alt=\"Create a PR and view list of PRs on the web from the Git menu\" width=\"550\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/create-a-pr-and-view-list-of-prs-on-the-web-from-t.png 500w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/create-a-pr-and-view-list-of-prs-on-the-web-from-t-300x234.png 300w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><figcaption id=\"figcaption_attachment_232595\" class=\"wp-caption-text\">Create a PR and view list of PRs on the web from the Git menu<\/figcaption><\/figure><\/p>\n<h3>Git Settings<\/h3>\n<p>We added a few new options in <strong>Git &gt; Settings<\/strong> to manage how you open and switch repositories. You can now keep the current solution open when switching to another repository<\/p>\n<p><figure id=\"attachment_232596\" aria-labelledby=\"figcaption_attachment_232596\" class=\"wp-caption aligncenter\" ><img decoding=\"async\" class=\"wp-image-232596 size-full\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/setting-to-keep-solution-open-.png\" alt=\"Setting to keep current solution open\" width=\"550\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/setting-to-keep-solution-open-.png 600w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/setting-to-keep-solution-open--300x23.png 300w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><figcaption id=\"figcaption_attachment_232596\" class=\"wp-caption-text\">Setting to keep current solution open<\/figcaption><\/figure><\/p>\n<p>You can also choose not to load the repository root folder when opening a repository. This will keep the Solution Explorer empty and you won\u2019t get a solution list.<\/p>\n<p><figure id=\"attachment_232597\" aria-labelledby=\"figcaption_attachment_232597\" class=\"wp-caption aligncenter\" ><img decoding=\"async\" class=\"wp-image-232597 size-full\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/setting-to-open-folder-.png\" alt=\"Setting to open the folder\" width=\"550\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/setting-to-open-folder-.png 500w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/setting-to-open-folder--300x22.png 300w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><figcaption id=\"figcaption_attachment_232597\" class=\"wp-caption-text\">Setting to open the folder<\/figcaption><\/figure><\/p>\n<p>However, if you do choose to open the root folder, Visual Studio won\u2019t automatically load the solution anymore. Instead you&#8217;ll see the folder view and solution available in a list you can select from. You can change this behavior through <strong>Git &gt; Settings<\/strong> by toggling the checkbox.<\/p>\n<p><figure id=\"attachment_232598\" aria-labelledby=\"figcaption_attachment_232598\" class=\"wp-caption aligncenter\" ><img decoding=\"async\" class=\"wp-image-232598 size-full\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/settings-to-toggle-auto-sln-load-and-branch-check.png\" alt=\"Setting to toggle auto-navigation of Solution Explorer\" width=\"550\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/settings-to-toggle-auto-sln-load-and-branch-check.png 600w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/settings-to-toggle-auto-sln-load-and-branch-check-300x35.png 300w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><figcaption id=\"figcaption_attachment_232598\" class=\"wp-caption-text\">Setting to toggle auto-navigation of Solution Explorer<\/figcaption><\/figure><\/p>\n<p>You can choose to check out a branch from the Git Repository window by double-clicking the branch name. If you want to change this behavior, then toggle the checkbox in <strong>Git &gt; Settings<\/strong>.<\/p>\n<p><figure id=\"attachment_232599\" aria-labelledby=\"figcaption_attachment_232599\" class=\"wp-caption aligncenter\" ><img decoding=\"async\" class=\"wp-image-232599 size-full\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/settings-to-toggle-auto-sln-load-and-branch-check-1.png\" alt=\"Settings to toggle auto-sln load and branch check out.\" width=\"550\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/settings-to-toggle-auto-sln-load-and-branch-check-1.png 600w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/settings-to-toggle-auto-sln-load-and-branch-check-1-300x35.png 300w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><figcaption id=\"figcaption_attachment_232599\" class=\"wp-caption-text\">Settings to toggle auto-sln load and branch check out.<\/figcaption><\/figure><\/p>\n<h3>Performance Profiler<\/h3>\n<p>The launch page for the Performance Profiler now has links to help guide users to online documentation detailing how to use the tools along with our toolbox video series. You can usthese to learn more about the tools and learn how to better identify areas in your code for optimization and validate your changes.<\/p>\n<p><figure id=\"attachment_232600\" aria-labelledby=\"figcaption_attachment_232600\" class=\"wp-caption aligncenter\" ><img decoding=\"async\" class=\"wp-image-232600 size-full\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/graphical-user-interface-text-application-email.png\" alt=\"Graphical user interface, text, application, email Description automatically generated\" width=\"550\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/graphical-user-interface-text-application-email.png 1355w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/graphical-user-interface-text-application-email-300x197.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/graphical-user-interface-text-application-email-1024x671.png 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/graphical-user-interface-text-application-email-768x503.png 768w\" sizes=\"(max-width: 1355px) 100vw, 1355px\" \/><figcaption id=\"figcaption_attachment_232600\" class=\"wp-caption-text\">Graphical user interface, text, application, email Description automatically generated<\/figcaption><\/figure><\/p>\n<p>The .NET Object Allocation tool in the Performance Profiler is first tool transitioned to our new analysis engine which is significantly faster and provides more features. After collection you can get to your results and build call-trees faster (~40% increase). We now also support SourceLink to pull down sources, so you can see exactly where code is allocating, even if it is not in your code.<\/p>\n<p><figure id=\"attachment_232601\" aria-labelledby=\"figcaption_attachment_232601\" class=\"wp-caption aligncenter\" ><img decoding=\"async\" class=\"wp-image-232601 size-full\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/graphical-user-interface-description-automaticall.png\" alt=\"Graphical user interface Description automatically generated\" width=\"550\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/graphical-user-interface-description-automaticall.png 2125w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/graphical-user-interface-description-automaticall-300x189.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/graphical-user-interface-description-automaticall-1024x647.png 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/graphical-user-interface-description-automaticall-768x485.png 768w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/graphical-user-interface-description-automaticall-1536x970.png 1536w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/graphical-user-interface-description-automaticall-2048x1293.png 2048w\" sizes=\"(max-width: 2125px) 100vw, 2125px\" \/><figcaption id=\"figcaption_attachment_232601\" class=\"wp-caption-text\">Graphical user interface Description automatically generated<\/figcaption><\/figure><\/p>\n<p>This requires symbols for the corresponding code which can be pulled down from the Microsoft Symbol Servers, go to <strong>Debug &gt; Options &gt; Symbols<\/strong> to enable this.<\/p>\n<p><figure id=\"attachment_232602\" aria-labelledby=\"figcaption_attachment_232602\" class=\"wp-caption aligncenter\" ><img decoding=\"async\" class=\"wp-image-232602 size-full\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/graphical-user-interface-text-application-descr-1.png\" alt=\"Graphical user interface, text, application Description automatically generated\" width=\"550\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/graphical-user-interface-text-application-descr-1.png 1053w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/graphical-user-interface-text-application-descr-1-300x202.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/graphical-user-interface-text-application-descr-1-1024x690.png 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/graphical-user-interface-text-application-descr-1-768x518.png 768w\" sizes=\"(max-width: 1053px) 100vw, 1053px\" \/><figcaption id=\"figcaption_attachment_232602\" class=\"wp-caption-text\">Graphical user interface, text, application Description automatically generated<\/figcaption><\/figure><\/p>\n<h3>Containers<\/h3>\n<p>This release includes some exciting features for users of the Docker container tooling. You can now run any combination of services defined in your compose files, and enjoy improved container and image management in the Containers window. For more information, see our <a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/visual-studio-2019-v16-10-preview-2\/#new-features-for-containers\">New Features for Containers announcement<\/a> in the 16.10 preview 3 blog.<\/p>\n<h3>.NET Productivity<\/h3>\n<p>From our .NET team, we bring you several features to help with continual improvements in productivity.<\/p>\n<p>We have added functionality through the <strong>Remove Unused References <\/strong>command. This command allows you to clean up unused project references and NuGet packages. This option is turned off by default, but you can enable it under menu <strong>Tools &gt; Options &gt; Text Editor &gt; C# &gt; Advanced<\/strong>. Select the <strong><em>Remove Unused References<\/em><\/strong> command in Solution Explorer (Experimental). Once the option is enabled, the <strong>Remove Unused References<\/strong> command will appear in the right-click menu of a project name or dependencies node.<\/p>\n<p><figure id=\"attachment_232603\" aria-labelledby=\"figcaption_attachment_232603\" class=\"wp-caption aligncenter\" ><img decoding=\"async\" class=\"wp-image-232603 size-full\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/word-image-1.png\" alt=\"Remove unused references in the Solution Explorer\" width=\"480\" height=\"349\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/word-image-1.png 480w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/word-image-1-300x218.png 300w\" sizes=\"(max-width: 480px) 100vw, 480px\" \/><figcaption id=\"figcaption_attachment_232603\" class=\"wp-caption-text\">Remove unused references in the Solution Explorer<\/figcaption><\/figure><\/p>\n<p><figure id=\"attachment_232604\" aria-labelledby=\"figcaption_attachment_232604\" class=\"wp-caption aligncenter\" ><img decoding=\"async\" class=\"wp-image-232604 size-full\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/word-image-2.png\" alt=\"Remove unused references dialog box.\" width=\"480\" height=\"362\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/word-image-2.png 480w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/word-image-2-300x226.png 300w\" sizes=\"(max-width: 480px) 100vw, 480px\" \/><figcaption id=\"figcaption_attachment_232604\" class=\"wp-caption-text\">Remove unused references dialog box.<\/figcaption><\/figure><\/p>\n<p>When you select <strong>Remove Unused References<\/strong>, a dialog box will open. You can then view all references that are going to be removed, but you also have the option to preserve any you wish to keep.<\/p>\n<h4>IntelliSense Completion<\/h4>\n<p>There is additional IntelliSense completion for Enum values when a type is known even if the Enum value is not entered. We also expanded this option to include completion for casts, indexers, and operators.<\/p>\n<p><figure id=\"attachment_232605\" aria-labelledby=\"figcaption_attachment_232605\" class=\"wp-caption aligncenter\" ><img decoding=\"async\" class=\"wp-image-232605 size-full\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/word-image-3.png\" alt=\"IntelliSense completion for Enums.\" width=\"480\" height=\"196\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/word-image-3.png 480w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/word-image-3-300x123.png 300w\" sizes=\"(max-width: 480px) 100vw, 480px\" \/><figcaption id=\"figcaption_attachment_232605\" class=\"wp-caption-text\">IntelliSense completion for Enums.<\/figcaption><\/figure><\/p>\n<p>There is now a completion option that automatically inserts arguments when writing a method call.<\/p>\n<p><figure id=\"attachment_232606\" aria-labelledby=\"figcaption_attachment_232606\" class=\"wp-caption aligncenter\" ><img decoding=\"async\" class=\"wp-image-232606 size-full\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/word-image-4.png\" alt=\"Automatically insert arguments when writing a method call.\" width=\"474\" height=\"348\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/word-image-4.png 474w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/word-image-4-300x220.png 300w\" sizes=\"(max-width: 474px) 100vw, 474px\" \/><figcaption id=\"figcaption_attachment_232606\" class=\"wp-caption-text\">Automatically insert arguments when writing a method call.<\/figcaption><\/figure><\/p>\n<p>This feature is off by default so you will need to enable it in <strong>Tools &gt; Options &gt; Text Editor &gt; C# &gt; IntelliSense<\/strong> and select <strong>Tab twice to insert arguments (experimental)<\/strong>.<\/p>\n<p>To use this feature, start writing a method call and press tab twice (<strong>tab+tab<\/strong>). Notice that the method call includes arguments based on the method\u2019s default values. Use parameter info to cycle through the list of arguments that you would like inserted by pressing the up and down arrow keys. Start typing an argument to bring up the IntelliSense completion list and type semicolon, which will commit the argument and add a semicolon to the end of the method call.<\/p>\n<h4>Visualize and Navigate Inheritance Chains<\/h4>\n<p>There is now a visual representation for navigating and inspecting the inheritance chain.<\/p>\n<p><figure id=\"attachment_232607\" aria-labelledby=\"figcaption_attachment_232607\" class=\"wp-caption aligncenter\" ><img decoding=\"async\" class=\"wp-image-232607 size-full\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/word-image-5.png\" alt=\"Visual indicators for navigating inheritance chains.\" width=\"480\" height=\"171\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/word-image-5.png 480w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/word-image-5-300x107.png 300w\" sizes=\"(max-width: 480px) 100vw, 480px\" \/><figcaption id=\"figcaption_attachment_232607\" class=\"wp-caption-text\">Visual indicators for navigating inheritance chains.<\/figcaption><\/figure><\/p>\n<p>This option is off by default so you will need to turn it on in <strong>Tools &gt; Options &gt; Text Editor &gt; C# &gt; Advanced<\/strong> and select <strong>Show inheritance margin. <\/strong>Enabling inheritance margin will add new icons to the margins representing your code\u2019s implementations and overrides.<\/p>\n<p>Click the inheritance margin icon to display inheritance options that you can navigate to.<\/p>\n<p><figure id=\"attachment_232608\" aria-labelledby=\"figcaption_attachment_232608\" class=\"wp-caption aligncenter\" ><img decoding=\"async\" class=\"wp-image-232608 size-full\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/word-image-6.png\" alt=\"Navigate inheritance chains by clicking the margin icon.\" width=\"480\" height=\"169\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/word-image-6.png 480w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/word-image-6-300x106.png 300w\" sizes=\"(max-width: 480px) 100vw, 480px\" \/><figcaption id=\"figcaption_attachment_232608\" class=\"wp-caption-text\">Navigate inheritance chains by clicking the margin icon.<\/figcaption><\/figure><\/p>\n<h4>Test Explorer Accessibility Improvements<\/h4>\n<p>We&#8217;ve made several updates to the Test Explorer that improve keyboard accessibility and usability of the test detail pane and log files. For details, see <a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/visual-studio-2019-v16-10-preview-2\/#test-experience-accessibility-improvements\">Test Experience Accessibility Improvements<\/a> in the 16.10 preview 3 blog.<\/p>\n<h4>WinForms Updates<\/h4>\n<p>We&#8217;ve refactored our Behavior Service for Visual Studio 16.10. This resulted in significant performance improvements to the new WinForms designer for .NET Core, 5, and 6. This also fixed many issues related to selecting, dragging, and dropping multiple controls.<\/p>\n<h4>XAML Tooling Updates<\/h4>\n<p>We keep improving existing and adding new features to make you more productive developing XAML UIs.<\/p>\n<h5>XAML Designer Quick Actions<\/h5>\n<p>Now you can change properties of your controls very quickly by using a pop-up menu behind the light bulb that is shown for a selected control.<\/p>\n<p><figure id=\"attachment_232762\" aria-labelledby=\"figcaption_attachment_232762\" class=\"wp-caption aligncenter\" ><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/xaml-designer.png\"><img decoding=\"async\" class=\"size-full wp-image-232762\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/xaml-designer.png\" alt=\"Xaml designer quick actions\" width=\"614\" height=\"560\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/xaml-designer.png 614w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/xaml-designer-300x274.png 300w\" sizes=\"(max-width: 614px) 100vw, 614px\" \/><\/a><figcaption id=\"figcaption_attachment_232762\" class=\"wp-caption-text\">Quick actions in the XAML designer.<\/figcaption><\/figure><\/p>\n<p>When you select a control in the XAML designer, you will see a light bulb. Once you click on it, a list of most commonly used properties for this specific control will be displayed saving you time finding those properties in Property Explorer or typing the code in XAML editor.<\/p>\n<p><span style=\"text-decoration: underline;\">Supported\u00a0controls:\u00a0<\/span><\/p>\n<ul>\n<li><strong>WPF:<\/strong> Border, Button, Canvas, CheckBox, ComboBox, Grid, Image, Label, ListBox, ListView, StackPanel, TextBlock, TextBox.<\/li>\n<li><strong>UWP:<\/strong> Border, Button, Canvas, CheckBox, ComboBox, Grid, HyperlinkButton, Image, ListBox, ListView, NavigationView, RadioButton, Slider, StackPanel, TextBlock, TextBox.<\/li>\n<\/ul>\n<p>This feature is available for UWP, WPF Core, and WPF Framework (with the \u201cNew WPF XAML Designer for .NET Framework\u201d feature flag enabled).\nYou can also create your own actions, see <a href=\"https:\/\/github.com\/microsoft\/xaml-designer-extensibility\" target=\"_blank\" rel=\"noopener\">XAML Designer Extensibility GitHub<\/a> to learn more.<\/p>\n<h5>XAML Sample Data<\/h5>\n<p>Usually, to see how your controls look with data values you have to implement all data bindings, populate your database with values, and you need to run your application. With this feature you can see how your controls look with \u201cdummy\u201d data right away in the designer. For that set <code>d:ItemSource='{d:SampleData}'<\/code> on your ListBox, ListView or DataGrid. The control will be auto populated with a \u201cdummy\u201d data that matches your DataTemplates and BindingPaths. This data is shown in the designer and doesn&#8217;t affect your source code.<\/p>\n<p>You can change how many items are generated using the ItemCount property, for example: <code>d:ItemSource='{d:SampleData ItemCount=3}'<\/code>, by default it is set to 5.<\/p>\n<h2>What\u2019s new in Visual Studio 2019 v16.11 Preview 1<\/h2>\n<h3>.NET Hot Reload<\/h3>\n<p>In this release we\u2019re excited to make available the first release of the new <strong>Hot Reload<\/strong> user experience when editing code files for applications such as WPF, Windows Forms, ASP.NET Core, Console, etc. With Hot Reload you can now modify your apps managed source code while the application is running with no need to pause execution or use a breakpoint. Instead, simply make a supported change and use the new \u201capply code changes\u201d button in the toolbar to apply them immediately.<\/p>\n<p><figure id=\"attachment_232609\" aria-labelledby=\"figcaption_attachment_232609\" class=\"wp-caption aligncenter\" ><img decoding=\"async\" class=\"wp-image-232609\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/a-picture-containing-text-monitor-screenshot-in.gif\" alt=\"Make changes and Hot Reload your WPF application.\" width=\"550\" height=\"238\" \/><figcaption id=\"figcaption_attachment_232609\" class=\"wp-caption-text\">Make changes and Hot Reload your WPF application. <a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/a-picture-containing-text-monitor-screenshot-in.gif\" target=\"_blank\" rel=\"noopener\">View at full size.<\/a><\/figcaption><\/figure><\/p>\n<p>In this update of Visual Studio this new experience is available when running your application under the debugger (F5) and is powered by the <a href=\"https:\/\/docs.microsoft.com\/en-us\/visualstudio\/debugger\/edit-and-continue?view=vs-2019\">Edit and Continue (EnC) mechanism<\/a>. Use Hot Reload alongside any other debugger features anywhere EnC is supported. .NET Hot Reload also works alongside XAML Hot Reload, making it possible to make both UI and code-behind changes in your desktop applications such as WPF or WinUI.<\/p>\n<p>Both EnC and Hot Reload share the same limitations, so not every type of edit is supported. The complete list of what is or is not supported can be found <a href=\"https:\/\/docs.microsoft.com\/en-us\/visualstudio\/debugger\/supported-code-changes-csharp?view=vs-2019\">in our documentation<\/a>.<\/p>\n<p>Hot Reload is now also available under the `dotnet watch` CLI tool for certain scenarios starting with .NET 6 Preview 3 or higher, for more details see the .NET release blog.<\/p>\n<p>This is just the start of our journey, and we will be looking to improve this experience further in Visual Studio 2022 and future versions of .NET 6+, such as the ability to use Hot Reload from Visual Studio when starting your application without a debugger (CTRL-F5), reducing the number of unsupported edits, enabling the ability to edit Razor pages, support for using Hot Reload with Blazor and .NET MAUI applications and more. If you want to learn even more details about our vision for this technology, see our detailed blog post on the .NET Blog.<\/p>\n<p>We really hope you will try Hot Reload with your application and provide feedback through the Visual Studio feedback feature.<\/p>\n<h3>.NET MAUI<\/h3>\n<p>Visual Studio 16.11 preview 1 adds support for .NET MAUI! .NET Multi-platform App UI (MAUI), shipping GA this November, is the best way to write cross-platform applications for iOS, Android, Windows, and Mac. .NET 6 Preview 4 ships today with new .NET MAUI features, including single project improvements, the ability to target all supported platforms, and Blazor hybrid desktop support! Visual Studio 16.11 p1 allows you to open, build, and debug .NET MAUI apps from the IDE, and adds functionality for the new single project architecture. Additionally, you can use the new project configuration wizard to create a new .NET MAUI app!<\/p>\n<p><figure id=\"attachment_232794\" aria-labelledby=\"figcaption_attachment_232794\" class=\"wp-caption aligncenter\" ><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/weather-twenty-one.png\"><img decoding=\"async\" class=\"wp-image-232794 size-full\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/weather-twenty-one.png\" alt=\".NET MAUI demo app WeatherTwentyOne\" width=\"1200\" height=\"818\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/weather-twenty-one.png 1200w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/weather-twenty-one-300x205.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/weather-twenty-one-1024x698.png 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/weather-twenty-one-768x524.png 768w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/a><figcaption id=\"figcaption_attachment_232794\" class=\"wp-caption-text\">.NET MAUI <a href=\"https:\/\/github.com\/davidortinau\/WeatherTwentyOne\" target=\"_blank\" rel=\"noopener\">demo app WeatherTwentyOne<\/a><\/figcaption><\/figure><\/p>\n<p>With .NET MAUI and Visual Studio, you only need one project in your solution to target mobile and desktop. Images, fonts, app information, and even splash screens can all be defined in one project and deployed to each platform at compile time. Using multitargeting, you can debug on any supported platform without having to maintain different projects for different target frameworks. To learn more about the new .NET MAUI Single Project architecture, you can watch the <a href=\"https:\/\/www.youtube.com\/watch?v=AQHZQ8p6FCA\" target=\"_blank\" rel=\"noopener\">May 2021 Xamarin community standup<\/a>!<\/p>\n<p><figure id=\"attachment_232795\" aria-labelledby=\"figcaption_attachment_232795\" class=\"wp-caption aligncenter\" ><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/maui-single-project-arch.png\"><img decoding=\"async\" class=\"size-full wp-image-232795\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/maui-single-project-arch.png\" alt=\".NET MAUI single project architecture\" width=\"800\" height=\"289\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/maui-single-project-arch.png 800w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/maui-single-project-arch-300x108.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/05\/maui-single-project-arch-768x277.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/a><figcaption id=\"figcaption_attachment_232795\" class=\"wp-caption-text\">Target Android, iOS, Windows, and Mac from one project with .NET MAUI\u2019s single project architecture.<\/figcaption><\/figure><\/p>\n<p>To try out .NET MAUI today, download Visual Studio 16.11 and follow the <a href=\"https:\/\/github.com\/dotnet\/maui-samples\" target=\"_blank\" rel=\"noopener\">instructions on the .NET MAUI samples repo<\/a>\u00a0to install the .NET 6 preview SDKs!<\/p>\n<p>For more information, <a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/announcing-net-maui-preview-4\/\" target=\"_blank\" rel=\"noopener\">see .NET MAUI preview 4<\/a>.<\/p>\n<p><div  class=\"d-flex justify-content-center\"><a class=\"cta_button_link btn-primary mb-24\" href=\"https:\/\/visualstudio.microsoft.com\/vs\/preview\" target=\"_blank\">Install Visual Studio 2019 v16.11 preview 1<\/a><\/div><\/p>\n<p>To experience the latest that Visual Studio 2019 has to offer, <a href=\"https:\/\/visualstudio.microsoft.com\/vs\/preview\" target=\"_blank\" rel=\"noopener\">download the preview today<\/a>. Don\u2019t forget to <a href=\"https:\/\/docs.microsoft.com\/en-us\/visualstudio\/ide\/report-a-problem?view=vs-2019\" target=\"_blank\" rel=\"noopener\">report a problem<\/a> or <a href=\"https:\/\/developercommunity2.visualstudio.com\/home\" target=\"_blank\" rel=\"noopener\">give us feedback on Developer Community<\/a>!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We are excited to announce the release of Visual Studio 2019 v16.10 GA and v16.11 preview 1. This release makes our theme of developer productivity and convenience Generally Available to Visual Studio users! We\u2019ve added C++20 features, improved Git integration, improved profiling tools, and a host of features that accelerate productivity.<\/p>\n","protected":false},"author":56570,"featured_media":230955,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[155],"tags":[6796,3249,3286,6758,1666,133],"class_list":["post-232580","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-visual-studio","tag-c-conformance","tag-containers","tag-docker","tag-git-integration","tag-testing","tag-xaml"],"acf":[],"blog_post_summary":"<p>We are excited to announce the release of Visual Studio 2019 v16.10 GA and v16.11 preview 1. This release makes our theme of developer productivity and convenience Generally Available to Visual Studio users! We\u2019ve added C++20 features, improved Git integration, improved profiling tools, and a host of features that accelerate productivity.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/232580","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/users\/56570"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/comments?post=232580"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/232580\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media\/230955"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media?parent=232580"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/categories?post=232580"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/tags?post=232580"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}