Creating a software bill of materials (SBOM) for an open-source NuGet package
Creating provenance attestations for NuGet packages in GitHub Actions
Running an ASP.NET Core app inside IIS in a Windows container
Creating an analyzer to detect infinite loops caused by ThreadAbortExceptions
Disabling localized satellite assemblies during dotnet publish
Setting application environment variables in IIS without restarts
Preventing client-side cross-site-scripting vulnerabilities with Trusted Types
Supporting multiple .NET SDK versions in a source generator: Creating a source generator - Part 14
Supporting multiple .NET SDK versions in analyzers and source generators
Accessing MSBuild properties and user configuration to source generators: Creating a source generator - Part 13
Reading compilation options and the C# version in source generators: Creating a source generator - Part 12
Implementing an interceptor with a source generator: Creating a source generator - Part 11
Building LaTeX projects on Windows easily with Docker
Using the YamlDotNet source generator for Native AOT
Cross-Origin-Embedder-Policy: securing embedded resources: Understanding cross-origin security headers - Part 3
Cross-Origin-Resource-Policy: preventing hotlinking and XSSI attacks: Understanding cross-origin security headers - Part 2
Cross-Origin-Opener-Policy: preventing attacks from popups: Understanding cross-origin security headers - Part 1
Recent updates for NetEscapades.EnumGenerators: interceptors!
Is the result pattern worth it?: Working with the result pattern - Part 4
Adding more extensions to Result<T>: Working with the result pattern - Part 3
Safety and simplicity with LINQ: Working with the result pattern - Part 2
Replacing Exceptions-as-flow-control with the result pattern: Working with the result pattern - Part 1
Major updates to NetEscapades.AspNetCore.SecurityHeaders
Fixing MAX_PATH issues in GitLab
Preventing breaking changes in public APIs with PublicApiGenerator
Showing 25 results