{"id":3554,"date":"2026-07-12T04:23:14","date_gmt":"2026-07-12T04:23:14","guid":{"rendered":"https:\/\/tucumandevelopers.com\/index.php\/2026\/07\/12\/dotinsights-july-2026\/"},"modified":"2026-07-12T04:23:14","modified_gmt":"2026-07-12T04:23:14","slug":"dotinsights-july-2026","status":"publish","type":"post","link":"https:\/\/tucumandevelopers.com\/index.php\/2026\/07\/12\/dotinsights-july-2026\/","title":{"rendered":"dotInsights | July 2026"},"content":{"rendered":"<div>\n<div>\n<section data-clarity-region=\"article\">\n<div>\n<p><a href=\"\/dotnet\/category\/net-tools\/\">.NET Tools<\/a><\/p>\n<p><strong>Did you know? <\/strong>The <code>using<\/code> keyword has two completely different meanings. You can use it to import classes from different namespaces at the top of a file, or to ensure deterministic cleanup in a method body. It\u2019s not the only keyword that has multiple meanings. See how many you can think of.<\/p>\n<figure><\/figure>\n<p><strong>Welcome to dotInsights by JetBrains!<\/strong> This newsletter is the home for recent .NET and software development related information.<\/p>\n<h2>\ud83d\udd17 Links<\/h2>\n<p>Here\u2019s the latest from the developer community.<\/p>\n<ol>\n<li><a href=\"https:\/\/www.thomasclaudiushuber.com\/2026\/06\/05\/the-new-visual-studio-solution-file-format-goodbye-sln-welcome-slnx\/\" target=\"_blank\" rel=\"noopener\">The new Visual Studio Solution File Format: Goodbye .SLN, Welcome .SLNX!<\/a> \u2013 Thomas Claudius Huber<\/li>\n<li><a href=\"https:\/\/www.phoronix.com\/news\/Epic-Games-Lore-VCS\" target=\"_blank\" rel=\"noopener\">Epic Games Announces Lore Open-Source Version Control System \u2013 Phoronix<\/a> \u2013 Michael Larabel<\/li>\n<li><a href=\"https:\/\/www.meziantou.net\/new-features-and-roslyn-analyzers-for-meziantou-framework-fullpath.htm\" target=\"_blank\" rel=\"noopener\">New features and Roslyn analyzers for Meziantou.Framework.FullPath<\/a> \u2013 G\u00e9rald Barr\u00e9<\/li>\n<li><a href=\"https:\/\/blog.maartenballiauw.be\/posts\/2026-06-16-discriminated-unions-in-csharp-for-real-this-time\/\" target=\"_blank\" rel=\"noopener\">Discriminated unions in C# and .NET 11 (for real this time)<\/a> \u2013 Maarten Balliauw<\/li>\n<li><a href=\"https:\/\/dev.to\/karenpayneoregon\/c14-the-field-keyword-4i5j\" target=\"_blank\" rel=\"noopener\">C#10 The field keyword \u2013 DEV Community<\/a> \u2013 Karen Payne<\/li>\n<li><a href=\"https:\/\/webkit.org\/blog\/18098\/introducing-the-field-guide-to-grid-lanes\/\" target=\"_blank\" rel=\"noopener\">Introducing the Field Guide to Grid Lanes | WebKit<\/a> \u2013 Jen Simmons<\/li>\n<li><a href=\"https:\/\/platform.uno\/blog\/agentic-harness-demystified\/\" target=\"_blank\" rel=\"noopener\">AI Agentic Harness Demystified<\/a> \u2013 Sam Basu<\/li>\n<li><a href=\"https:\/\/newrelic.com\/blog\/ai\/state-of-ai-coding-2026\" target=\"_blank\" rel=\"noopener\">Introducing the State of AI Coding 2026<\/a> \u2013 Jim Young<\/li>\n<li><a href=\"https:\/\/codemanship.wordpress.com\/2026\/05\/28\/what-if-the-real-key-to-ai-coding-is-old-fashioned-boring\/\" target=\"_blank\" rel=\"noopener\">What If The Real Key To AI Coding Is Old-Fashioned &amp; Boring?<\/a> \u2013 Jason Gorman<\/li>\n<li><a href=\"https:\/\/bartwullems.blogspot.com\/2026\/06\/safely-injecting-json-configuration.html\" target=\"_blank\" rel=\"noopener\">Safely injecting a JSON configuration object into a Razor Page<\/a> \u2013 Bart Wullems<\/li>\n<li><a href=\"https:\/\/milanjovanovic.tech\/blog\/building-dapr-workflows-in-dotnet-with-aspire\" target=\"_blank\" rel=\"noopener\">Building Dapr Workflows in .NET With Aspire<\/a> \u2013 Milan Jovanovi\u0107<\/li>\n<li><a href=\"https:\/\/shiftmag.dev\/api-mcp-server-infobip-filip-srnec-10118\/\" target=\"_blank\" rel=\"noopener\">Your API is Already an MCP Server \u2013 ShiftMag<\/a> \u2013 Marin Paveli\u0107<\/li>\n<li><a href=\"https:\/\/css-tricks.com\/why-isnt-my-3d-view-transition-working\/\" target=\"_blank\" rel=\"noopener\">Why Isn\u2019t My 3D View Transition Working? | CSS-Tricks<\/a> \u2013 Sunkanmi Fafowora<\/li>\n<li><a href=\"https:\/\/apievangelist.com\/2026\/06\/12\/your-diverse-api-toolbox\/\" target=\"_blank\" rel=\"noopener\">Your Diverse API Toolbox<\/a> \u2013 Kin Lane<\/li>\n<li><a href=\"https:\/\/devblogs.microsoft.com\/oldnewthing\/20260612-00\/?p=112417\" target=\"_blank\" rel=\"noopener\">How can I schedule work on a thread pool with low latency?<\/a> \u2013 Raymond Chen<\/li>\n<li><a href=\"https:\/\/www.planetgeek.ch\/2026\/06\/13\/learn-how-a-queue-removes-temporal-coupling-why-fire-and-forget-message-pumps-create-unbounded-concurrency-and-how-semaphoreslim-helps-control-load\/\" target=\"_blank\" rel=\"noopener\">A message queue bought us time<\/a> \u2013 Daniel Marbach<\/li>\n<li><a href=\"https:\/\/chrisnas.github.io\/posts\/2026-06-08_dotnet-cli-tools-in-the-ai-fury\/\" target=\"_blank\" rel=\"noopener\">.NET CLI tools in the AI fury or how to guide agents during production investigations<\/a> \u2013 Christophe Nasarre<\/li>\n<li><a href=\"https:\/\/auth0.com\/blog\/implementing-the-device-authorization-flow-in-a-csharp-console-app\/\" target=\"_blank\" rel=\"noopener\">Implement the Device Authorization Flow in a C# Console App<\/a> \u2013 Andrea Chiarelli<\/li>\n<li><a href=\"https:\/\/blog.elmah.io\/simplifying-file-logging-in-asp-net-core-with-serilog\/\" target=\"_blank\" rel=\"noopener\">Simplifying file logging in ASP.NET Core with Serilog<\/a> \u2013 Ali Hamza Ansari<\/li>\n<li><a href=\"https:\/\/duendesoftware.com\/blog\/20260618-how-duende-identityserver-filters-claims\" target=\"_blank\" rel=\"noopener\">How Duende IdentityServer Filters Claims (And Why It Matters)<\/a> \u2013 Khalid Abuhakmeh and Maarten Balliauw<\/li>\n<li><a href=\"https:\/\/bartwullems.blogspot.com\/2026\/06\/ship-your-c-mcp-server-as-one-click.html\" target=\"_blank\" rel=\"noopener\">Ship your C# MCP Server as a one-click bundle with MCPB<\/a> \u2013 Bart Wullems<\/li>\n<li><a href=\"https:\/\/blog.martincostello.com\/implementing-a-custom-github-token-broker\/\" target=\"_blank\" rel=\"noopener\">Implementing a custom GitHub token broker<\/a> \u2013 Martin Costello<\/li>\n<li><a href=\"https:\/\/www.planetgeek.ch\/2026\/06\/15\/turn-messy-production-code-into-a-useful-benchmark\/\" target=\"_blank\" rel=\"noopener\">Turn messy production code into a useful benchmark<\/a> \u2013 Daniel Marbach<\/li>\n<li><a href=\"https:\/\/github.blog\/ai-and-ml\/github-copilot\/what-are-git-worktrees-and-why-should-i-use-them\/\" target=\"_blank\" rel=\"noopener\">What are git worktrees, and why should I use them? \u2013 The GitHub Blog<\/a> \u2013 Cassidy Williams<\/li>\n<li><a href=\"https:\/\/dev.to\/chaotic_neutral_dev\/compile-time-feature-flags-in-c-using-il-weaving-and-a-roslyn-analyzer-1i55\" target=\"_blank\" rel=\"noopener\">Compile-time feature flags in C# using IL weaving and a Roslyn analyzer<\/a> \u2013 Scott<\/li>\n<li><a href=\"https:\/\/www.i-programmer.info\/news\/89-net\/18941-improving-c-safety-without-turning-it-into-rust.html\" target=\"_blank\" rel=\"noopener\">Improving C# Safety Without Turning It Into Rust<\/a> \u2013 Mike James<\/li>\n<li><a href=\"https:\/\/www.woodruff.dev\/bulkmerge-upsert-in-ef-core-how-to-insert-or-update-without-the-headache\/\" target=\"_blank\" rel=\"noopener\">BulkMerge (Upsert) in EF Core: How to Insert-or-Update Without the Headache<\/a> \u2013 Chris Woodruff<\/li>\n<li><a href=\"https:\/\/www.infoq.com\/news\/2026\/06\/dotnet-11-preview-5\/\" target=\"_blank\" rel=\"noopener\">.NET 11 Preview 5: Brings File-Based App Improvements, New C# Features, and a Blazor Validation Wave \u2013 InfoQ<\/a> \u2013 Almir Vuk<\/li>\n<li><a href=\"https:\/\/www.devleader.ca\/2026\/06\/25\/ef-core-vs-dapper-in-net-when-to-use-each\" target=\"_blank\" rel=\"noopener\">EF Core vs Dapper in .NET: When to Use Each<\/a> \u2013 Nick Cosentino<\/li>\n<li><a href=\"https:\/\/platform.uno\/blog\/announcing-skiasharp-4-0\/\" target=\"_blank\" rel=\"noopener\">Announcing SkiaSharp 4.0<\/a> \u2013 Sam Basu<\/li>\n<li><a href=\"https:\/\/www.windowslatest.com\/2026\/06\/28\/microsoft-denies-wsl-3-exists-reveals-windows-11s-wsl-containers-ship-next-week\/\" target=\"_blank\" rel=\"noopener\">Microsoft denies WSL 3 exists, reveals Windows 11\u2019s WSL Containers ship next week<\/a> \u2013 Abhijith M B<\/li>\n<li><a href=\"https:\/\/www.funkysi1701.com\/posts\/2026\/dotnet-5-to-10-features\/\" target=\"_blank\" rel=\"noopener\">.NET 5 to 10: Key Features Introduced in Every Release \u2013 Funky Si\u2019s Blog<\/a> \u2013 Simon Foster<\/li>\n<\/ol>\n<h2>\u2615 Coffee Break<\/h2>\n<p>Take a break with something a little more fun.<\/p>\n<p><a href=\"https:\/\/www.tabsoverspaces.com\/233972-strongly-typed-generic-object-in-csharp\" target=\"_blank\" rel=\"noopener\">Strongly typed generic object in C#<\/a> \u2013 Ji\u0159\u00ed \u010cin\u010dura<\/p>\n<p><a href=\"https:\/\/lemire.me\/blog\/2026\/06\/14\/parsing-json-at-compile-time-with-c26-static-reflection\/\" target=\"_blank\" rel=\"noopener\">Parsing JSON at compile time with C++26 static reflection<\/a> \u2013 Daniel Lemire. Yes, C++ can be fun. How dare you.<\/p>\n<figure>\n<\/figure>\n<p><a href=\"https:\/\/blog.jetbrains.com\/research\/2026\/07\/the-history-of-kodee\/\">The History of Kodee, Kotlin\u2019s Mascot \u2013 The JetBrains Blog<\/a> \u2013 Olga Vorobeva, Nadia Lokot<\/p>\n<h2>\ud83d\uddde\ufe0f JetBrains News<\/h2>\n<p>What\u2019s going on at JetBrains? Check it out here:<\/p>\n<ul>\n<li>Rider 2026.2 is getting <a href=\"https:\/\/www.jetbrains.com\/rider\/nextversion\/\" target=\"_blank\" rel=\"noopener\">very close to release<\/a>, and there\u2019s plenty to talk about in this release. EAP 6 brought cleaner async call stacks in the debugger, EAP 8 introduced a <a href=\"https:\/\/blog.jetbrains.com\/dotnet\/2026\/06\/25\/performance-profiling-agent-skill-in-rider\/\">new AI agent skill for analysing your dotTrace snapshots<\/a>, and Unreal Engine game developers get support for <a href=\"https:\/\/blog.jetbrains.com\/dotnet\/2026\/07\/06\/natvis-comes-to-linux-and-macos-in-rider-2026-2-debugger\/\">natvis in the Mac and Linux debugger<\/a>, to mention just a couple.<\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/ai\/2026\/06\/github-copilot-now-an-integrated-agent\/\">GitHub Copilot is now directly integrated with the AI Assistant chat experience<\/a>. No JetBrains AI subscription is required \u2013 if you\u2019ve already got a subscription, you can use it here!<\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/junie\/2026\/06\/junie-coding-agent-out-of-beta\/\">JetBrains\u2019 own agent Junie has recently come out of beta<\/a> and was ranked as the number one agent in the independent SWE-Rebench benchmark.<\/li>\n<li>The TeamCity team have shared a vision of <a href=\"https:\/\/blog.jetbrains.com\/teamcity\/2026\/07\/whats-next-for-teamcity\/\">what\u2019s next for CI\/CD with TeamCity<\/a>.<\/li>\n<li>And finally, does <a href=\"https:\/\/blog.jetbrains.com\/ai\/2026\/07\/speak-to-ai-agents-like-cavemen-tosave-tokens\/\">speaking like a caveman really give you a 65% reduction in token usage<\/a>? \ud83e\udd14#QTWTAIN&nbsp;<\/li>\n<\/ul>\n<p>\u2709\ufe0f Comments? Questions? Send us an <a href=\"mailto:dotnet-advocates@jetbrains.com\">email<\/a>.&nbsp;<\/p>\n<\/p><\/div>\n<p> <a href=\"#\"><\/a> <\/section>\n<div>\n<p><h2>Discover more<\/h2>\n<\/p><\/div>\n<\/p><\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>Fuente: <a href=\"https:\/\/blog.jetbrains.com\/dotnet\/2026\/07\/10\/dotinsights-july-2026\/\">Art\u00edculo original<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>.NET Tools Did you know? The using keyword has two completely different meanings. You can use it to import classes from different namespaces at the top of a file, or to ensure deterministic cleanup in a method body. It\u2019s not the only keyword that has multiple meanings. See how many you can think of. Welcome [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2648,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"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}},"categories":[46],"tags":[],"class_list":["post-3554","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-jetbrain"],"jetpack_publicize_connections":[],"_links":{"self":[{"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/posts\/3554","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/comments?post=3554"}],"version-history":[{"count":0,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/posts\/3554\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/media\/2648"}],"wp:attachment":[{"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/media?parent=3554"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/categories?post=3554"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/tags?post=3554"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}