{"id":18612,"date":"2020-05-06T10:53:47","date_gmt":"2020-05-06T10:53:47","guid":{"rendered":"https:\/\/blog.jetbrains.com\/dotnet\/?p=25153"},"modified":"2024-01-08T18:29:49","modified_gmt":"2024-01-08T17:29:49","slug":"net-annotated-may-2020","status":"publish","type":"dotnet","link":"https:\/\/blog.jetbrains.com\/en\/dotnet\/2020\/05\/06\/net-annotated-may-2020","title":{"rendered":".NET Annotated | May 2020"},"content":{"rendered":"<p>Spring has sprung! So has the era of virtual conferences! Now that everyone is locked down and online, there&#8217;s many to choose from. Check out some of the online options you have for virtual training and information in this month&#8217;s .NET Annotated newsletter!<\/p>\n<p>In the meantime, this month in computing history has brought us: The introduction of the <a href=\"https:\/\/www.computerhistory.org\/tdih\/may\/2\/#microsoft-introduces-2-button-mouse\" target=\"_blank\" rel=\"noopener\">2-button mouse<\/a> (a very ugly one by today&#8217;s standards) by Microsoft in 1983. Decades earlier, in 1952, IBM was busy announcing its <a href=\"https:\/\/www.computerhistory.org\/tdih\/may\/21\/#ibm-announces-its-first-electronic-computer,-the-model-701\" target=\"_blank\" rel=\"noopener\">first electronic computer, the Model 701<\/a> to the world! Oh my, how times have changed. <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2020\/02\/dotnet-NET_Annotated_blog_1600x800.png\" alt=\".NET Annotated Monthly newsletter by JetBrains!\" width=\"800\"  class=\"alignnone size-full wp-image-24428\" \/><\/p>\n<h2>.NET news<\/h2>\n<ul>\n<li><a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/announcing-entity-framework-core-5-0-preview-3\/\" target=\"_blank\" rel=\"noopener\">Announcing Entity Framework Core 5.0 Preview 3<\/a><\/li>\n<li><a href=\"https:\/\/devblogs.microsoft.com\/aspnet\/asp-net-core-updates-in-net-5-preview-3\/\" target=\"_blank\" rel=\"noopener\">ASP.NET Core updates in .NET 5 Preview 3<\/a><\/li>\n<li><a href=\"https:\/\/devblogs.microsoft.com\/aspnet\/blazor-webassembly-3-2-0-preview-5-release-now-available\/\" target=\"_blank\" rel=\"noopener\">Blazor WebAssembly 3.2.0 Preview 5 release now available<\/a><\/li>\n<\/ul>\n<p><!--more--><\/p>\n<h2>.NET tutorials and tips<\/h2>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/work-flow-of-diagnosing-memory-performance-issues-part-0\/\" target=\"_blank\" rel=\"noopener\">Work flow of diagnosing memory performance issues \u2013 Part 0<\/a> &#8211; If you ever wanted to know how to diagnose performance issues, this post by Maoni Stephens is for you! <\/p>\n<p><a href=\"https:\/\/developer.okta.com\/blog\/2020\/04\/17\/most-exciting-promise-dotnet-5\" target=\"_blank\" rel=\"noopener\">The Most Exciting Promise of .NET 5<\/a> &#8211; Read more to see what Heather Downing says is the most exciting promise of .NET 5. Do you think so too?<\/p>\n<p><a href=\"https:\/\/blog.maartenballiauw.be\/post\/2020\/04\/14\/building-an-aspnet-core-tag-helper-to-show-hide-ui-elements-based-on-authorization.html\" target=\"_blank\" rel=\"noopener\">Building an ASP.NET Core Tag Helper to Show\/Hide UI Elements based on Authorization<\/a> &#8211; Our own Maarten Balliauw demonstrates how to show and hide UI element based on authorization, an important every day task.<\/p>\n<p><a href=\"https:\/\/khalidabuhakmeh.com\/injecting-services-into-aspdotnet-views\" target=\"_blank\" rel=\"noopener\">Injecting Services Into ASP.NET Razor Views<\/a> &#8211; Also from our team, Khalid Abuhakmeh demonstrates how to inject services into views in ASP.NET.<\/p>\n<p><a href=\"https:\/\/medium.com\/@hbhhathorn\/install-an-asp-net-core-web-api-on-linux-ubuntu-18-04-and-host-with-nginx-and-ssl-2ed9df7371fb\" target=\"_blank\" rel=\"noopener\">Install an ASP.NET Core Web API on Linux (Ubuntu 18.04) and host with Nginx and SSL<\/a> &#8211; This is an excellent post by Harry Hathorn about going to the dark side: LINUX! <\/p>\n<p><a href=\"https:\/\/dzone.com\/articles\/event-sourcing-in-net-core-a-gentle-introduction\" target=\"_blank\" rel=\"noopener\">Event Sourcing in .NET Core: A Gentle Introduction<\/a> &#8211; You may have heard about event sourcing. Now&#8217;s your chance to see what it&#8217;s all about. Post by Davide Guida.<\/p>\n<p><a href=\"https:\/\/blog.elmah.io\/export-data-to-excel-with-asp-net-core\/\" target=\"_blank\" rel=\"noopener\">Export data to Excel with ASP.NET Core<\/a> &#8211; So check out this post on exporting data to Excel. Everyone needs to do this at some point. So just take my Word for it!  It&#8217;ll give you a great Outlook on development. Thomas Ardal really makes a PowerPoint with this post.<\/p>\n<p><a href=\"https:\/\/www.c-sharpcorner.com\/article\/combine-xml-and-json-requests-and-responses-in-asp-net-core-web-api\/\" target=\"_blank\" rel=\"noopener\">Combine XML And Json Requests And Responses In ASP.NET Core Web API<\/a> &#8211; At some point a partner or vendor will require that you combine multiple data formats. Sarathlal Saseendran prepares you for the task.<\/p>\n<p><a href=\"https:\/\/andrewlock.net\/how-to-automatically-choose-a-free-port-in-asp-net-core\/\" target=\"_blank\" rel=\"noopener\">How to automatically choose a free port in ASP.NET Core 3.0<\/a> &#8211; Check out this post by Andrew Lock on how to automatically grab that free port in ASP.NET Core 3.0. <\/p>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=dCgqTDki-VM&#038;feature=youtu.be\" target=\"_blank\" rel=\"noopener\">NDC Sydney presentation: &#8220;Blazor in more depth&#8221;<\/a> &#8211; by Steve Sanderson and Ryan Nowak. <\/p>\n<p><a href=\"https:\/\/github.com\/ErikEJ\/EFCorePowerTools\" target=\"_blank\" rel=\"noopener\">EFCorePowerTools source on GitHub<\/a> &#8211; Drumroll, please! Erik EJ has published the latest version of EFCorePowerTools! Get it while it&#8217;s hot!<\/p>\n<p><a href=\"https:\/\/github.com\/aboudoux\/TetrisBlazor\" target=\"_blank\" rel=\"noopener\">Tetris example in Blazor<\/a> &#8211; Do you like Tetris? Do you like Blazor? Perfect! Check out this sample by Aur\u00e9lien Boudoux.<\/p>\n<p><a href=\"https:\/\/github.com\/TanvirArjel\/AspNetCore.CustomValidation\" target=\"_blank\" rel=\"noopener\">AspNetCore Custom Validation Sample<\/a> &#8211; Tanvir Ahmad Arjel created this custom validation sample you may find useful.<\/p>\n<p>Book alert! Who doesn&#8217;t just love free eBooks?<br \/>\n<a href=\"https:\/\/www.syncfusion.com\/ebooks\/blazor-succinctly\" target=\"_blank\" rel=\"noopener\">Blazor Succinctly<\/a> &#8211; by Michael Washington.<\/p>\n<h2>Events, community and culture<\/h2>\n<p><a href=\"https:\/\/www.toptal.com\/designers\/ui\/inclusive-design-infographic\" target=\"_blank\" rel=\"noopener\">Inclusive Design vs Accessible Design (with Infographic) <\/a> &#8211; You may have considered accessible design, but have you also considered what makes a design inclusive? Cameron Chapman discusses what it&#8217;s all about.<\/p>\n<p><a href=\"https:\/\/www.nationalgeographic.com\/science\/2020\/04\/coronavirus-zoom-fatigue-is-taxing-the-brain-here-is-why-that-happens\/\" target=\"_blank\" rel=\"noopener\">\u2018Zoom fatigue\u2019 is taxing the brain. Here&#8217;s why that happens.<\/a> &#8211; You know it&#8217;s serious when National Geographic covers it. What&#8217;s happening? Julia Sklar discusses this new phenomenon.<\/p>\n<h2>Random interesting and cool stuff<\/h2>\n<p>This clever kid is going places. Probably sketchy places, but she&#8217;s going places nonetheless. <\/p>\n<p><a href=\"https:\/\/twitter.com\/AngieMaxwell1\/status\/1250299598347718656\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2020\/05\/dotnet-dna-may-2020-1.png\" alt=\"Found the kid playing with her dog instead of Zooming with her teacher. She told me not to worry. She took a screenshot of herself \u201cpaying attention,\u201d then cut her video &#038; replaced it with the picture. \u201cIt\u2019s a gallery view of 20 kids, mom. They can\u2019t tell.\u201d  She is 10.  #COVID19\" width=\"600\"  class=\"alignnone size-full wp-image-25197\" \/><\/a><\/p>\n<h2>And finally&#8230;<\/h2>\n<p>Here\u2019s a chance to catch up on JetBrains news that you might have missed:<\/p>\n<ul>\n<li><a href=\"https:\/\/blog.jetbrains.com\/dotnet\/2020\/04\/16\/rider-2020-1-released\/\">Rider 2020.1 Is Released!<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/dotnet\/2020\/04\/30\/smart-step-enabled-default-debugger-updates-rider-2020-1\/\">Smart Step Into Enabled by Default and More Debugger Updates in Rider 2020.1<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/dotnet\/2020\/04\/22\/rider-unreal-engine-eap\/\">Rider for Unreal Engine Public Preview Starts Now!<\/a><\/li>\n<\/ul>\n<p>Informative posts:<\/p>\n<ul>\n<li><a href=\"https:\/\/blog.jetbrains.com\/dotnet\/2020\/04\/27\/socket-error-codes-depend-runtime-operating-system\/\">How Socket Error Codes Depend on Runtime and Operating System<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/dotnet\/2020\/04\/20\/nullable-reference-types-migration\/\">Nullable Reference Types: Migrating a Codebase \u2013 A Look at New Language Features in C# 8<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/dotnet\/2020\/04\/14\/net-core-performance-revolution-rider-2020-1\/\">.NET Core performance revolution in Rider 2020.1<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/dotnet\/2020\/04\/08\/write-regular-expressions-easily-rider\/\">Write Regular Expressions Easily with Rider<\/a><\/li>\n<\/ul>\n<p>Webinars and events:<\/p>\n<ul>\n<li><a href=\"https:\/\/blog.jetbrains.com\/dotnet\/2020\/04\/23\/jetbrains-dotnet-days-online-2020\/\">JetBrains .NET Days Online 2020!<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/dotnet\/2020\/04\/24\/nuke-designing-build-system-ide-support-mind-webinar-recording\/\">NUKE \u2013 Designing a build system with IDE support in mind \u2013 Webinar Recording<\/a><\/li>\n<\/ul>\n<p>Check out this fantastic offer! <a href=\"https:\/\/www.codemag.com\/\" target=\"_blank\" rel=\"noopener\">CODE Magazine<\/a> is offering a <a href=\"https:\/\/www.codemag.com\/subscribe\/jetbrains?jb_newsletter&#038;utm_medium=email&#038;utm_campaign=free-subs\" target=\"_blank\" rel=\"noopener\">free subscription<\/a> to JetBrains customers!<\/p>\n<p>If you have any interesting or useful .NET or general programming news to share via .NET Annotated Monthly, leave a comment here, email me at rachel.appel@jetbrains.com, or drop me a message via <a href=\"http:\/\/twitter.com\/rachelappel\" target=\"_blank\" rel=\"noopener\">Twitter<\/a>.<\/p>\n<p align=\"center\"><a class=\"jb-download-button\" href=\"https:\/\/info.jetbrains.com\/Dotnet-Annotated-Subscription.html\" target=\"_blank\" rel=\"noopener\">Subscribe to .NET Annotated!<\/a><\/p>\n","protected":false},"author":901,"featured_media":18394,"comment_status":"open","ping_status":"open","template":"","categories":[1401],"tags":[8363],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/dotnet\/18612"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/dotnet"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/types\/dotnet"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/users\/901"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/comments?post=18612"}],"version-history":[{"count":1,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/dotnet\/18612\/revisions"}],"predecessor-version":[{"id":431559,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/dotnet\/18612\/revisions\/431559"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/media\/18394"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/media?parent=18612"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/categories?post=18612"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/tags?post=18612"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/cross-post-tag?post=18612"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}