Profile avatar
andrewlock.bsky.social
Microsoft MVP and blogger, focused on ASP.​NET Core. Author of ASP.​NET Core in Action (https://mng.bz/5mRz) Blog: https://andrewlock.net Mastadon: @[email protected] Twitter: @andrewlocknet
780 posts 2,128 followers 321 following
Prolific Poster
Conversation Starter

Blogged: Disabling localized satellite assemblies during dotnet publish andrewlock.net/disabling-lo... In this post I show how to reduce the size of the publish output for .NET apps by preventing the publishing of localization resources when they're not needed #dotnet #aspnetcore #csharp

Blogged: Setting application environment variables in IIS without restarts andrewlock.net/setting-envi... In this post I outline how IIS works, describe how to add environment variables to app pools, and show how to prevent automatic app pool recycling on changes #aspnet #aspnetcore #iis #windows

Blogged: Customizing a single client sign-in using parameters in Duende IdentityServer damienbod.com/2025/02/17/c... #aspnetcore #dotnet #identity #duende #oauth #openidconnect

I've been moving my workspace at home so I haven't had a chance to do the audio editing on Tech, Bugs & Rock'n'Roll, but I finally caught up yesterday so here are the missed episodes on Spotify (also available on other platforms): 🧵

Oh, you want to support *multiple* .NET SDK versions in your source generator? Here's how you do it.

Writing a .NET Garbage Collector in C#  -  Part 3 by Kevin Gosse. https://minidump.net/writing-a-net-gc-in-c-part-3/ #csharp #dotnet #programming

Blogged: Preventing client-side cross-site-scripting vulnerabilities with Trusted Types andrewlock.net/preventing-c... In this post I describe how the Trusted Types Content-Security-Policy feature can protect you against cross-site-scripting attacks #dotnet #security

New Blog Post: "What's Up with Tech's Job Crunch?" #career #jobs #tech wildermuth.com/2025/...

Blogged: Supporting multiple .NET SDK versions in a source generator - Creating a source generator - Part 14 andrewlock.net/creating-a-s... In this post I show how I updated my NetEscapades.EnumGenerators project to support multi-targeting two different .NET SDK versions #dotnet #csharp

I published the second part of my series of article about writing a .NET garbage collector in C#. This time, we build the simplest possible GC, capable of running basic .NET apps without ever freeing memory. minidump.net/writing-a-ne... #dotnet

Edgio is now offline forever. Let’s see what breaks portal.catchpoint.com/UI/Entry/PSE...

Finally! Grats! datatracker.ietf.org/doc/rfc9700/

Windows is adding a feature called "Admin Protection." But to understand why it's needed and useful, it's helpful to first learn some history, and what UAC did and didn't accomplish. techcommunity.microsoft.com/blog/microso...

Blogged: Supporting multiple .NET SDK versions in analyzers and source generators andrewlock.net/supporting-m... In this post I describe why source generators might need to work with multiple versions of the .NET SDK and how NuGet packages support this in .NET 6+ #dotnet #csharp

Handling the context gets interesting when seeing with Entity Framework - nodogmablog.bryanhogan.net/2025/01/seed...

@jeffrygonzalez.dev & I are kicking off a new video series on the "Critter Stack", starting with a look at how Wolverine's HTTP capabilities support a very low ceremony "Vertical Slice Architecture" approach and promote testability: youtu.be/by4mfobgZe8

re: FluentAssertions, one thing that has been clear to me for a very very long time in OSS is that anything significant requires direct sponsorship for development time. OSS is not, nor was ever, a hobby for me. it is work done by me for the direct benefit of my clients

Posted my annual .NET version comparison throughput tests along with some initial perceptions of moving to .NET 9.0. This year is a little... different. weblog.west-wind.com/posts/2025/J...

Using Roslyn to analyze and rewrite code in a solution by Gérald Barré. https://www.meziantou.net/using-roslyn-to-analyze-and-rewrite-code-in-a-solution.htm #dotnet #roslyn #programming #csharp

Blogged: Accessing MSBuild properties and user configuration from source generators andrewlock.net/creating-a-s... In this post I describe how to read MSBuild settings from inside a source generator, and how to use this to allow user configuration of your generator #dotnet #csharp

Blogged: ASP.NET Core user application access token management damienbod.com/2025/01/20/a... #jwt #aspnetcore #dotnet #oidc #bearer #authorization #access #security

Blogged: Reading compilation options and the C# version in source generators andrewlock.net/creating-a-s... In this post I show how to read details of a target project from a source generator, such as assembly name, the current configuration, or the C# version #csharp #dotnet

Blogged: Implementing an interceptor with a source generator andrewlock.net/creating-a-s... In this post I show how interceptors work, and how you can implement an interceptor using a source generator and the GetInterceptableLocation API #dotnet #csharp #aspnetcore

I published part 5 of my "Writing a .NET profiler in C#" series. All the foundations built in the previous articles have been moved to a library named Silhouette. In this new article, we finally have everything we need to write an actual profiler. minidump.net/writing-a-ne... #dotnet

Just published the December newsletter. Sorry it's a few days later than usual! Lots of news items, a dev tip, comic pick, and more! Plus info about my new JetBrains Rider #Dometrain course :) danclarke.beehiiv.com #dotnet #JetBrains #Rider

I need to break out a thesaurus to properly define how I feel about the Blazor component lifecycle. Seems easy at first but when you start having a bunch of embedded components passing down parameters, listening to events from injected services or wondering why OnInitialized is fired twice….

Finally had time over the holidays to realize a long-standing dream of mine: a hex editor that knows about the PE file and .NET metadata format. You can click any byte and it will show you which data structure it is in the tree. Every byte is covered. The parser is at github.com/KirillOsenko...

New release of Vogen. Nothing exciting, just a few fixes, including one that fixes an issue when using the latest preview release of Visual Studio. github.com/SteveDunn/Vo... #dotnet #ddd #csharp #visualstudio #roslyn

@andrewlock.bsky.social wrote a series of articles which provide an in-depth look into CORS, COOP, CORP and COEP, and what all these security headers do (and don't do). I warmly recommend spending an hour digging into andrewlock.net/series/under...

Blogged: Back to Basics: Using the Parallel Library to Massively Boost Loop Performance Posting a follow up to recent tweet regarding converting a linear for loop to parallel and gaining huge performance improvements. weblog.west-wind.com/posts/2024/D...

@andrewlock.bsky.social has written a great article on YAML serialization/deserialization with .NET and using a code generator. andrewlock.net/using-the-ya...

Very interesting post series from @andrewlock.bsky.social about Result pattern and how to remove exceptions from flow-control. 👌 andrewlock.net/working-with... #dotnet

Hey #dotnet folks if you’re using a CI/CD double check your resource URLs. A CDN has gone bankrupt and may cease operations in the next month. We are working to make transparent fixes but you can be proactive github.com/dotnet/core/...