{"id":3868,"date":"2020-05-22T14:36:40","date_gmt":"2020-05-22T12:36:40","guid":{"rendered":"https:\/\/mariusbancila.ro\/blog\/?p=3868"},"modified":"2020-05-22T14:36:40","modified_gmt":"2020-05-22T12:36:40","slug":"highlights-from-microsoft-build-2020","status":"publish","type":"post","link":"https:\/\/mariusbancila.ro\/blog\/2020\/05\/22\/highlights-from-microsoft-build-2020\/","title":{"rendered":"Highlights from Microsoft Build 2020"},"content":{"rendered":"<p>The Microsoft Build 2020 event happened this week, and, unlike all previous editions, it was a digital event only. Moreover, it was also free, so everybody could attend the 48 hours marathon. Microsoft made a lot of announcements and released various products and services for Windows, Azure, Office, Visual Studio, Edge, and more. In this post, I will summarize the things that I found the most interesting for me. <\/p>\n<p><!-- more --><\/p>\n<h2>Visual Studio 2019<\/h2>\n<p>The version 16.6 and the first preview of 16.7 have been released. There are a bunch of new or improved functionalities across the IDE and the language compilers and tools including the following:<\/p>\n<ul>\n<li>Windows Forms Designer for .NET Core<\/li>\n<li>Microsoft Fakes for .NET Core and SDK-style projects<\/li>\n<li>.NET Async tool for profiling .NET apps<\/li>\n<li>Ability to generate Doxygen or XML doc comment stubs automatically in C++ by typing either \/\/\/ or \/** above functions<\/li>\n<li>IntelliSense Code Linter for C++ that checks your code as you type<\/li>\n<li>Support or partial support for more C++20 features, including span and ranges<\/li>\n<\/ul>\n<p>Here is more about this:<\/p>\n<ul>\n<li><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/visual-studio-2019-v16-6-and-v16-7-preview-1-ship-today\/\" target=\"_blank\" rel=\"noopener noreferrer\">Releasing Today! Visual Studio 2019 v16.6 &#038; v16.7 Preview<\/a><\/li>\n<li><a href=\"https:\/\/docs.microsoft.com\/en-us\/visualstudio\/releases\/2019\/release-notes#16.6.0\" target=\"_blank\" rel=\"noopener noreferrer\">Visual Studio 2019 version 16.6 Release Notes<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/microsoft\/STL\/wiki\/Changelog#shipped-in-vs-2019-166\" target=\"_blank\" rel=\"noopener noreferrer\">C++ STL changelog<\/a><\/li>\n<li><a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/intellisense-code-linter-for-cpp\/\" target=\"_blank\" rel=\"noopener noreferrer\">IntelliSense Code Linter for C++<\/a><\/li>\n<li><a href=\"https:\/\/channel9.msdn.com\/events\/Build\/2020\/BOD110\" target=\"_blank\" rel=\"noopener noreferrer\">Modern C++ development with Visual Studio<\/a> (video)<\/li>\n<\/ul>\n<h2>Visual Studio Codespaces<\/h2>\n<p>This is the new name for Visual Studio Online. This is a service (in a preview phase) that provides cloud-based development environments that can be accessible from anywhere using Visual Studio 2019, Visual Studio Code or the built-in browser-based editor. Codespaces are environments that run either on Linux or Windows. The former are available for public preview, the latter only for private preview. It is possible to edit, build, debug and test ASP.NET Core web apps, .NET Core libraries, .NET Core console apps, and cross-platform CMake projects with Visual Studio 2019, but you need to sign-up for the private preview of Windows based codespaces. Live Share, that enables real-time collaboration in Visual Studio or Visual Studio Code, is also available to Visual Studio Codespaces.<\/p>\n<p>Here is more about this:<\/p>\n<ul>\n<li><a href=\"https:\/\/visualstudio.microsoft.com\/services\/visual-studio-codespaces\/\" target=\"_blank\" rel=\"noopener noreferrer\">Visual Studio Codespaces<\/a><\/li>\n<li><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/expanding-visual-studio-2019-support-for-visual-studio-codespaces\/\" target=\"_blank\" rel=\"noopener noreferrer\">Expanding Visual Studio 2019 support for Visual Studio Codespaces<\/a><\/li>\n<li><a href=\"https:\/\/channel9.msdn.com\/events\/Build\/2020\/BDL119\" target=\"_blank\" rel=\"noopener noreferrer\">Exploring Visual Studio Codespaces<\/a> (video)<\/li>\n<li><a href=\"https:\/\/channel9.msdn.com\/events\/Build\/2020\/BOD109\" target=\"_blank\" rel=\"noopener noreferrer\">Remote development with Visual Studio Codespaces<\/a> (video)<\/li>\n<\/ul>\n<h2>Project Reunion<\/h2>\n<p>This is the codename for the Microsoft&#8217;s attempt to bridge the gap between Universal Windows Platform (UWP) applications and Win32 desktop apps. The key part of this effort is WinUI 3, a new full-fledge framework for building user-interfaces for any application running on Windows, built with any technology. WinUI 3 is the step forward from WinUI 2, which is a library of controls and styles currently available for use in any UWP app. WinUI 3 decouples the XAML, composition, and input layers of Windows 10, making them available via NuGet packages. It can be used to build applications with C++ and .NET targeting Windows 10 version 1803 and above. For Win32 applications, it can be used to either create the entire UI, or to modernize existing ones. Via XAML Islands it can be used to mix with WPF, WinForms, MFC, and ComCtl32.<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/microsoft\/ProjectReunion\" target=\"_blank\" rel=\"noopener noreferrer\">Project Reunion<\/a><\/li>\n<li><a href=\"https:\/\/microsoft.github.io\/microsoft-ui-xaml\/\" target=\"_blank\" rel=\"noopener noreferrer\">WinUI<\/a><\/li>\n<li><a href=\"https:\/\/blogs.windows.com\/windowsdeveloper\/2020\/05\/19\/introducing-winui-3-preview-1\/\" target=\"_blank\" rel=\"noopener noreferrer\">Introducing WinUI 3 Preview 1<\/a><\/li>\n<li><a href=\"https:\/\/microsoft.github.io\/microsoft-ui-xaml\/about.html\" target=\"_blank\" rel=\"noopener noreferrer\">About WinUI<\/a><\/li>\n<li><a href=\"https:\/\/blogs.windows.com\/windowsdeveloper\/2020\/05\/19\/developing-for-all-1-billion-windows-10-devices-and-beyond\/\" target=\"_blank\" rel=\"noopener noreferrer\">Developing for all 1 billion Windows 10 devices and beyond<\/a><\/li>\n<li><a href=\"https:\/\/docs.microsoft.com\/en-us\/windows\/apps\/winui\/winui3\/get-started-winui3-for-desktop\" target=\"_blank\" rel=\"noopener noreferrer\">Get started with WinUI 3.0 for desktop apps<\/a><\/li>\n<li><a href=\"https:\/\/docs.microsoft.com\/en-us\/windows\/apps\/desktop\/modernize\/xaml-islands\" target=\"_blank\" rel=\"noopener noreferrer\">Host UWP XAML controls in desktop apps (XAML Islands)<\/a><\/li>\n<\/ul>\n<h2>C# 9<\/h2>\n<p>The next version of the C# language, C# 9, is expected to be released in November 2020 together with .NET 5. At build, some of the top features from this version where showcased. These include:<\/p>\n<ul>\n<li><tt>init<\/tt> accessor that allows a property to be initialized within an object initializer, but not assigned afterwards.\n<pre class=\"lang:c# decode:true \" >class Person\r\n{\r\n    public string FirstName {get; init;}\r\n    public string LastName {get; init;}\r\n}\r\n\r\nvar person = new Person \r\n{\r\n    FirstName = \"John\",    \/\/ OK\r\n    LastName = \"Doe\"       \/\/ OK\r\n}\r\n\r\nperson.FirstName = \"Jane\"; \/\/ error<\/pre>\n<\/li>\n<li>Records, that allow defining simple classes that only contain data. These come in two forms: nominal records, and positional records. Both are introduced with the <tt>data<\/tt> keyword. Nominal records have the following form:\n<pre class=\"lang:c# decode:true \" >data class Person\r\n{\r\n    public string FirstName {get; init;}\r\n    public string LastName {get; init;}\r\n}\r\n\r\nvar person = new Person \r\n{\r\n    FirstName = \"John\",\r\n    LastName = \"Doe\"\r\n}\r\n\r\nvar otherPerson = person with { FirstName = \"Jane\" };\r\nvar originalPerson = otherPerson with {FirstName = \"John\"};<\/pre>\n<p>You can also declare them using a short-hard syntax, that is equivalent to the declaration above:<\/p>\n<pre class=\"lang:c# decode:true \" >data class Person { string FirstName; string LastName; }<\/pre>\n<p>The positional records have similar semantics (public init only properties + deconstructor) but have a syntax that resembles named tuples.<\/p>\n<pre class=\"lang:c# decode:true \" >data class Person (string FirstName, string LastName);<\/pre>\n<\/li>\n<li>Pattern matching with type, relational, and logical patterns<\/li>\n<li>Target type new makes it unnecessarily to specify the type when a new object is created (provided that you use the type name and not <tt>var<\/tt> when declaring a variable):\n<pre class=\"lang:c# decode:true \" >Person person = new (\"John\", \"Doe\")<\/pre>\n<\/li>\n<li>Parameter null checking enables checking of non-nullable reference types and thows an exception if an argument is null\n<pre class=\"lang:c# decode:true \" >public Person(string firstName!, string lastName!) { ... }<\/pre>\n<\/li>\n<li>Covariant returns:\n<pre class=\"lang:c# decode:true \" >class Base\r\n{\r\n   public virtual Person GetMember() { ... }\r\n}\r\n\r\nclass Derived : Base\r\n{\r\n   public override Student GetMember() { ... }\r\n}<\/pre>\n<\/li>\n<\/ul>\n<p>Here is more about this:<\/p>\n<ul>\n<li><a href=\"https:\/\/channel9.msdn.com\/Events\/Build\/2020\/BOD108\" target=\"_blank\" rel=\"noopener noreferrer\">C# Today &#038; Tomorrow<\/a> (video)<\/li>\n<li><a href=\"https:\/\/github.com\/dotnet\/csharplang\" target=\"_blank\" rel=\"noopener noreferrer\">C# Language Design<\/a><\/li>\n<\/ul>\n<h2>Windows Terminal<\/h2>\n<p>The new Windows Terminal, announced last year at Build, has been finally released. The version 1.0 can be downloaded from the Windows Store or from GitHub. The new app allows to run any command line application inside tabs and panes, create profiles for each command line application. It supports Unicode and UTF-8 characters, and is extremely customizable.<\/p>\n<p><a href=\"https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2020\/05\/terminalpanes.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2020\/05\/terminalpanes-700x444.jpg\" alt=\"\" width=\"700\" height=\"444\" class=\"alignnone size-large wp-image-3875\" srcset=\"https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2020\/05\/terminalpanes-700x444.jpg 700w, https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2020\/05\/terminalpanes-300x190.jpg 300w, https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2020\/05\/terminalpanes-768x487.jpg 768w, https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2020\/05\/terminalpanes.jpg 1138w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/a><br \/>\nTo manage panes, the following commands are available:<\/p>\n<ul>\n<li>Split vertically: <tt>Alt<\/tt> + <tt>Shift<\/tt> + <tt>=<\/tt><\/li>\n<li>Split horizontally: <tt>Alt<\/tt> + <tt>Shift<\/tt> + <tt>-<\/tt><\/li>\n<li>Close pane: <tt>Ctrl<\/tt> + <tt>Shift<\/tt> + <tt>W<\/tt><\/li>\n<\/ul>\n<p>Here is more about this:<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/microsoft\/terminal\" target=\"_blank\" rel=\"noopener noreferrer\">Windows Terminal<\/a><\/li>\n<li><a href=\"https:\/\/devblogs.microsoft.com\/commandline\/windows-terminal-1-0\/\" target=\"_blank\" rel=\"noopener noreferrer\">Windows Terminal 1.0<\/a><\/li>\n<\/ul>\n<h2>Windows Package Manager Client (aka winget)<\/h2>\n<p>The <strong>winget<\/strong> is a new command line interface that enables installing applications from the command prompt. As of now, winget allows to search for application, show info about them, and, of course, install them.<\/p>\n<pre class=\"lang:default decode:true \" >usage: winget [&lt;command&gt;] [&lt;options&gt;]\r\n\r\nThe following commands are available:\r\n  install   Installs the given application\r\n  show      Shows info about an application\r\n  source    Manage sources of applications\r\n  search    Find and show basic info of apps\r\n  hash      Helper to hash installer files\r\n  validate  Validates a manifest file\r\n\r\nFor more details on a specific command, pass it the help argument. [-?]\r\n\r\nThe following options are available:\r\n  -v,--version  Display the version of the tool\r\n  --info        Display general info of the tool<\/pre>\n<p><a href=\"https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2020\/05\/winget.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2020\/05\/winget-700x449.jpg\" alt=\"\" width=\"700\" height=\"449\" class=\"alignnone size-large wp-image-3869\" srcset=\"https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2020\/05\/winget-700x449.jpg 700w, https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2020\/05\/winget-300x192.jpg 300w, https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2020\/05\/winget-768x492.jpg 768w, https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2020\/05\/winget.jpg 1222w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/a><\/p>\n<p>Here is more about this:<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/microsoft\/winget-cli\" rel=\"noopener noreferrer\" target=\"_blank\">Windows Package Manager CLI (aka winget)<\/a><\/li>\n<li><a href=\"https:\/\/www.theverge.com\/2020\/5\/20\/21264739\/microsoft-windows-package-manager-preview-download\">Microsoft\u2019s new Windows Package Manager is already better than the Windows Store<\/a><\/li>\n<\/ul>\n<h2>Linux GUI applications<\/h2>\n<p>After previously announcing that it will ship a full Linux kernel with Windows and that it will fully integrate Linux file access into the Windows 10 File Explorer, Microsoft announced that it will support Linux GUI applications and GPU hardware acceleration within the Linux subsystem. This new capability is primarily targeted for development scenarios concerning parallels computation or training ML and AI models. However, the release dates for these new features are not yet known.<\/p>\n<p>Here is more about this:<\/p>\n<ul>\n<li><a href=\"https:\/\/devblogs.microsoft.com\/commandline\/the-windows-subsystem-for-linux-build-2020-summary\/\" target=\"_blank\" rel=\"noopener noreferrer\">The Windows Subsystem for Linux BUILD 2020 Summary<\/a><\/li>\n<li><a href=\"https:\/\/www.theverge.com\/2020\/5\/19\/21263377\/microsoft-windows-10-linux-gui-apps-gpu-acceleration-wsl-features\" target=\"_blank\" rel=\"noopener noreferrer\">Microsoft is bringing Linux GUI apps to Windows 10<\/a><\/li>\n<li><a href=\"https:\/\/www.theverge.com\/2020\/4\/8\/21213783\/microsoft-windows-10-linux-file-explorer-integration-features\" target=\"_blank\" rel=\"noopener noreferrer\">Windows 10 is getting Linux files integration in File Explorer<\/a><\/li>\n<\/ul>\n<h2>PowerToys<\/h2>\n<p>This is a set of utilities that enable users to perform various actions, such as searching, managing windows layout, renaming files, resizing images and others in a simple way, improving productivity. Although the project was available for a while, it now brings a new functionality: PowerToys Run. This is a quick launcher, opened with ALT + Space, that enables to search and launch application, but also search for files and folders. You can do other things like simple calculation (instead of using the calculator application). Moreover, it has an extensible API so you can build plug-ins for it.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2020\/05\/powertoys.png\" alt=\"\" width=\"690\" height=\"562\" class=\"alignnone size-full wp-image-3872\" srcset=\"https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2020\/05\/powertoys.png 690w, https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2020\/05\/powertoys-300x244.png 300w\" sizes=\"auto, (max-width: 690px) 100vw, 690px\" \/><\/p>\n<p>Here is more about this:<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/microsoft\/PowerToys\" target=\"_blank\" rel=\"noopener noreferrer\">PowerToys<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/microsoft\/PowerToys\/tree\/master\/src\/modules\/launcher\" target=\"_blank\" rel=\"noopener noreferrer\">PowerToys Run<\/a><\/li>\n<li><a href=\"https:\/\/www.theverge.com\/2020\/5\/19\/21262060\/microsoft-windows-10-launcher-powertoy-spotlight-alfred-download-build\" target=\"_blank\" rel=\"noopener noreferrer\">Microsoft\u2019s new PowerToys Run launcher for Windows 10 is now available to download<\/a><\/li>\n<\/ul>\n<h2>There&#8217;s more<\/h2>\n<p>If you want to learn more about what was presented at Build 2020, you can read the following:<\/p>\n<ul>\n<li><a href=\"https:\/\/rencore.com\/blog\/recap-of-announcements-from-microsoft-build-2020-key-segment-session\/#\" target=\"_blank\" rel=\"noopener noreferrer\">Recap of announcements from Microsoft Build 2020 key segment session<\/a><\/li>\n<li><a href=\"https:\/\/csharp.christiannagel.com\/2020\/05\/21\/build2020\/\" target=\"_blank\" rel=\"noopener noreferrer\">Microsoft Build 2020 \u2013 Highlights<\/a><\/li>\n<\/ul>\n<p>Recordings of the Microsoft Build 2020 sessions are available on <a href=\"https:\/\/channel9.msdn.com\/Events\/Build\/2020\" rel=\"noopener noreferrer\" target=\"_blank\">channel9<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Microsoft Build 2020 event happened this week, and, unlike all previous editions, it was a digital event only. Moreover, it was also free, so everybody could attend the 48 hours marathon. Microsoft made a lot of announcements and released various products and services for Windows, Azure, Office, Visual Studio, Edge, and more. In this post, I will summarize the things that I found the most interesting for me. <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","advgb_blocks_editor_width":"","advgb_blocks_columns_visual_guide":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[13,11,7,15,1,10,146],"tags":[454,451,55,459,625],"class_list":["post-3868","post","type-post","status-publish","format-standard","hentry","category-net","category-csharp","category-c","category-events","category-uncategorized","category-visual-studio","category-windows","tag-net","tag-c","tag-visualstudio","tag-windows","tag-winui"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"In this post, I present a summary of the things presented at Build 2020 that I found the most interesting.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Marius Bancila\"\/>\n\t<meta name=\"keywords\" content=\"visualstudio,c#,c++,.net,windows,winui\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/mariusbancila.ro\/blog\/2020\/05\/22\/highlights-from-microsoft-build-2020\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Marius Bancila&#039;s Blog | About code. Mostly on C++\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Highlights from Microsoft Build 2020\" \/>\n\t\t<meta property=\"og:description\" content=\"In this post, I present a summary of the things presented at Build 2020 that I found the most interesting.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/mariusbancila.ro\/blog\/2020\/05\/22\/highlights-from-microsoft-build-2020\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-05-22T12:36:40+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-22T12:36:40+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Highlights from Microsoft Build 2020\" \/>\n\t\t<meta name=\"twitter:description\" content=\"In this post, I present a summary of the things presented at Build 2020 that I found the most interesting.\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2020\\\/05\\\/22\\\/highlights-from-microsoft-build-2020\\\/#article\",\"name\":\"Highlights from Microsoft Build 2020\",\"headline\":\"Highlights from Microsoft Build 2020\",\"author\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/author\\\/admin\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/05\\\/terminalpanes.jpg\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2020\\\/05\\\/22\\\/highlights-from-microsoft-build-2020\\\/#articleImage\",\"width\":1138,\"height\":722},\"datePublished\":\"2020-05-22T14:36:40+02:00\",\"dateModified\":\"2020-05-22T14:36:40+02:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2020\\\/05\\\/22\\\/highlights-from-microsoft-build-2020\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2020\\\/05\\\/22\\\/highlights-from-microsoft-build-2020\\\/#webpage\"},\"articleSection\":\".NET, C#, C++, Events, Uncategorized, Visual Studio, Windows, .NET, C++, VisualStudio, Windows, WinUI\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2020\\\/05\\\/22\\\/highlights-from-microsoft-build-2020\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/#listItem\",\"name\":\"IT\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/#listItem\",\"position\":2,\"name\":\"IT\",\"item\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/#listItem\",\"name\":\"Software\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/#listItem\",\"position\":3,\"name\":\"Software\",\"item\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/net\\\/#listItem\",\"name\":\".NET\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/#listItem\",\"name\":\"IT\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/net\\\/#listItem\",\"position\":4,\"name\":\".NET\",\"item\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/net\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/net\\\/csharp\\\/#listItem\",\"name\":\"C#\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/#listItem\",\"name\":\"Software\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/net\\\/csharp\\\/#listItem\",\"position\":5,\"name\":\"C#\",\"item\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/net\\\/csharp\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2020\\\/05\\\/22\\\/highlights-from-microsoft-build-2020\\\/#listItem\",\"name\":\"Highlights from Microsoft Build 2020\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/net\\\/#listItem\",\"name\":\".NET\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2020\\\/05\\\/22\\\/highlights-from-microsoft-build-2020\\\/#listItem\",\"position\":6,\"name\":\"Highlights from Microsoft Build 2020\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/net\\\/csharp\\\/#listItem\",\"name\":\"C#\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/#organization\",\"name\":\"Marius Bancila's Blog\",\"description\":\"About code. Mostly on C++\",\"url\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/author\\\/admin\\\/#author\",\"url\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/author\\\/admin\\\/\",\"name\":\"Marius Bancila\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2020\\\/05\\\/22\\\/highlights-from-microsoft-build-2020\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a84dd2831d955c38355ddea55df4df260809b88f36408bc14fd4eab8f7f131c9?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Marius Bancila\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2020\\\/05\\\/22\\\/highlights-from-microsoft-build-2020\\\/#webpage\",\"url\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2020\\\/05\\\/22\\\/highlights-from-microsoft-build-2020\\\/\",\"name\":\"Highlights from Microsoft Build 2020\",\"description\":\"In this post, I present a summary of the things presented at Build 2020 that I found the most interesting.\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2020\\\/05\\\/22\\\/highlights-from-microsoft-build-2020\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/author\\\/admin\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/author\\\/admin\\\/#author\"},\"datePublished\":\"2020-05-22T14:36:40+02:00\",\"dateModified\":\"2020-05-22T14:36:40+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/\",\"name\":\"Marius Bancila's Blog\",\"description\":\"About code. Mostly on C++\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Highlights from Microsoft Build 2020","description":"In this post, I present a summary of the things presented at Build 2020 that I found the most interesting.","canonical_url":"https:\/\/mariusbancila.ro\/blog\/2020\/05\/22\/highlights-from-microsoft-build-2020\/","robots":"max-image-preview:large","keywords":"visualstudio,c#,c++,.net,windows,winui","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/mariusbancila.ro\/blog\/2020\/05\/22\/highlights-from-microsoft-build-2020\/#article","name":"Highlights from Microsoft Build 2020","headline":"Highlights from Microsoft Build 2020","author":{"@id":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/#author"},"publisher":{"@id":"https:\/\/mariusbancila.ro\/blog\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2020\/05\/terminalpanes.jpg","@id":"https:\/\/mariusbancila.ro\/blog\/2020\/05\/22\/highlights-from-microsoft-build-2020\/#articleImage","width":1138,"height":722},"datePublished":"2020-05-22T14:36:40+02:00","dateModified":"2020-05-22T14:36:40+02:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/mariusbancila.ro\/blog\/2020\/05\/22\/highlights-from-microsoft-build-2020\/#webpage"},"isPartOf":{"@id":"https:\/\/mariusbancila.ro\/blog\/2020\/05\/22\/highlights-from-microsoft-build-2020\/#webpage"},"articleSection":".NET, C#, C++, Events, Uncategorized, Visual Studio, Windows, .NET, C++, VisualStudio, Windows, WinUI"},{"@type":"BreadcrumbList","@id":"https:\/\/mariusbancila.ro\/blog\/2020\/05\/22\/highlights-from-microsoft-build-2020\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog#listItem","position":1,"name":"Home","item":"https:\/\/mariusbancila.ro\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/#listItem","name":"IT"}},{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/#listItem","position":2,"name":"IT","item":"https:\/\/mariusbancila.ro\/blog\/category\/it\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/#listItem","name":"Software"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/#listItem","position":3,"name":"Software","item":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/net\/#listItem","name":".NET"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/#listItem","name":"IT"}},{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/net\/#listItem","position":4,"name":".NET","item":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/net\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/net\/csharp\/#listItem","name":"C#"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/#listItem","name":"Software"}},{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/net\/csharp\/#listItem","position":5,"name":"C#","item":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/net\/csharp\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/2020\/05\/22\/highlights-from-microsoft-build-2020\/#listItem","name":"Highlights from Microsoft Build 2020"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/net\/#listItem","name":".NET"}},{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/2020\/05\/22\/highlights-from-microsoft-build-2020\/#listItem","position":6,"name":"Highlights from Microsoft Build 2020","previousItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/net\/csharp\/#listItem","name":"C#"}}]},{"@type":"Organization","@id":"https:\/\/mariusbancila.ro\/blog\/#organization","name":"Marius Bancila's Blog","description":"About code. Mostly on C++","url":"https:\/\/mariusbancila.ro\/blog\/"},{"@type":"Person","@id":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/#author","url":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/","name":"Marius Bancila","image":{"@type":"ImageObject","@id":"https:\/\/mariusbancila.ro\/blog\/2020\/05\/22\/highlights-from-microsoft-build-2020\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/a84dd2831d955c38355ddea55df4df260809b88f36408bc14fd4eab8f7f131c9?s=96&d=mm&r=g","width":96,"height":96,"caption":"Marius Bancila"}},{"@type":"WebPage","@id":"https:\/\/mariusbancila.ro\/blog\/2020\/05\/22\/highlights-from-microsoft-build-2020\/#webpage","url":"https:\/\/mariusbancila.ro\/blog\/2020\/05\/22\/highlights-from-microsoft-build-2020\/","name":"Highlights from Microsoft Build 2020","description":"In this post, I present a summary of the things presented at Build 2020 that I found the most interesting.","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/mariusbancila.ro\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/mariusbancila.ro\/blog\/2020\/05\/22\/highlights-from-microsoft-build-2020\/#breadcrumblist"},"author":{"@id":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/#author"},"creator":{"@id":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/#author"},"datePublished":"2020-05-22T14:36:40+02:00","dateModified":"2020-05-22T14:36:40+02:00"},{"@type":"WebSite","@id":"https:\/\/mariusbancila.ro\/blog\/#website","url":"https:\/\/mariusbancila.ro\/blog\/","name":"Marius Bancila's Blog","description":"About code. Mostly on C++","inLanguage":"en-US","publisher":{"@id":"https:\/\/mariusbancila.ro\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"Marius Bancila's Blog | About code. Mostly on C++","og:type":"article","og:title":"Highlights from Microsoft Build 2020","og:description":"In this post, I present a summary of the things presented at Build 2020 that I found the most interesting.","og:url":"https:\/\/mariusbancila.ro\/blog\/2020\/05\/22\/highlights-from-microsoft-build-2020\/","article:published_time":"2020-05-22T12:36:40+00:00","article:modified_time":"2020-05-22T12:36:40+00:00","twitter:card":"summary","twitter:title":"Highlights from Microsoft Build 2020","twitter:description":"In this post, I present a summary of the things presented at Build 2020 that I found the most interesting."},"aioseo_meta_data":{"post_id":"3868","title":null,"description":"In this post, I present a summary of the things presented at Build 2020 that I found the most interesting.","keywords":[{"label":"VisualStudio","value":"VisualStudio"},{"label":"C#","value":"C#"},{"label":"C++","value":"C++"},{"label":".NET","value":".NET"},{"label":"Windows","value":"Windows"},{"label":"WinUI","value":"WinUI"}],"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2021-03-18 21:02:54","updated":"2025-12-12 07:54:48","seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"author_meta":{"display_name":"Marius Bancila","author_link":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/"},"featured_img":null,"jetpack_publicize_connections":[],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"Marius Bancila","author_link":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/"},"uagb_comment_info":0,"uagb_excerpt":"The Microsoft Build 2020 event happened this week, and, unlike all previous editions, it was a digital event only. Moreover, it was also free, so everybody could attend the 48 hours marathon. Microsoft made a lot of announcements and released various products and services for Windows, Azure, Office, Visual Studio, Edge, and more. In this&hellip;","coauthors":[],"tax_additional":{"categories":{"linked":["<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/net\/\" class=\"advgb-post-tax-term\">.NET<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/net\/csharp\/\" class=\"advgb-post-tax-term\">C#<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/c\/\" class=\"advgb-post-tax-term\">C++<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/events\/\" class=\"advgb-post-tax-term\">Events<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/uncategorized\/\" class=\"advgb-post-tax-term\">Uncategorized<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/visual-studio\/\" class=\"advgb-post-tax-term\">Visual Studio<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/it\/windows\/\" class=\"advgb-post-tax-term\">Windows<\/a>"],"unlinked":["<span class=\"advgb-post-tax-term\">.NET<\/span>","<span class=\"advgb-post-tax-term\">C#<\/span>","<span class=\"advgb-post-tax-term\">C++<\/span>","<span class=\"advgb-post-tax-term\">Events<\/span>","<span class=\"advgb-post-tax-term\">Uncategorized<\/span>","<span class=\"advgb-post-tax-term\">Visual Studio<\/span>","<span class=\"advgb-post-tax-term\">Windows<\/span>"]},"tags":{"linked":["<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/it\/windows\/\" class=\"advgb-post-tax-term\">.NET<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/it\/windows\/\" class=\"advgb-post-tax-term\">C++<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/it\/windows\/\" class=\"advgb-post-tax-term\">VisualStudio<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/it\/windows\/\" class=\"advgb-post-tax-term\">Windows<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/it\/windows\/\" class=\"advgb-post-tax-term\">WinUI<\/a>"],"unlinked":["<span class=\"advgb-post-tax-term\">.NET<\/span>","<span class=\"advgb-post-tax-term\">C++<\/span>","<span class=\"advgb-post-tax-term\">VisualStudio<\/span>","<span class=\"advgb-post-tax-term\">Windows<\/span>","<span class=\"advgb-post-tax-term\">WinUI<\/span>"]}},"comment_count":"0","relative_dates":{"created":"Posted 6 years ago","modified":"Updated 6 years ago"},"absolute_dates":{"created":"Posted on May 22, 2020","modified":"Updated on May 22, 2020"},"absolute_dates_time":{"created":"Posted on May 22, 2020 2:36 pm","modified":"Updated on May 22, 2020 2:36 pm"},"featured_img_caption":"","series_order":"","jetpack_shortlink":"https:\/\/wp.me\/pYNdv-10o","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/posts\/3868","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/comments?post=3868"}],"version-history":[{"count":26,"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/posts\/3868\/revisions"}],"predecessor-version":[{"id":3899,"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/posts\/3868\/revisions\/3899"}],"wp:attachment":[{"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/media?parent=3868"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/categories?post=3868"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/tags?post=3868"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}