skills
Repository for skills to assist AI coding agents with .NET and C#
Secure file uploads in .NET Minimal APIs by validating Content-Type headers against magic bytes. Prevent MIME-type spoofing and enhance security with this essential technique.
Handling .NET SDK Version Differences in `dotnet test` Argument ParsingMaster dotnet test argument parsing with .NET SDK version differences. Learn how SDK versions affect argument handling and ensure smooth test execution.
Rules for `--blame`, `--blame-crash`, and `--blame-hang-timeout` in dotnet testMaster dotnet test blame flags. Understand `--blame`, `--blame-crash`, and `--blame-hang-timeout` usage across VSTest and MTP for efficient debugging. Avoid common errors with SDK versioning.
How to Configure BenchmarkDotNet for Side‑by‑Side Performance Comparisons in the dotnet/skills RepositoryLearn to configure BenchmarkDotNet for side-by-side performance comparisons using the dotnet/skills repository. Generate deterministic results with specific flags.
What Is the FileWrites Item Group in MSBuild Incremental Builds?Understand the FileWrites item group in MSBuild incremental builds. Learn how it helps dotnet clean remove generated files and ensures build consistency for efficient development.
Difference Between `--logger trx` and `--report-trx` for Test Result GenerationUnderstand the difference between --logger trx and --report-trx for test result generation. Use --logger trx for VSTest and --report-trx for MTP projects to avoid errors.
Difference Between --filter, --filter-class, --filter-trait, and --filter-query in .NET TestingMaster .NET testing filters: understand the difference between --filter, --filter-class, --filter-trait, and --filter-query to efficiently run your tests in xUnit v3.
Preventing Path Traversal Attacks with File Uploads in ASP.NET Core Minimal APIsLearn to prevent path traversal attacks in ASP.NET Core Minimal APIs. Secure file uploads by validating filenames, content types, and enforcing path boundaries.
Diagnosers and Exporters in BenchmarkDotNet: Extending Telemetry and ReportingLearn how to extend BenchmarkDotNet telemetry and reporting with diagnosers for diagnostics and exporters for shareable results like Markdown, HTML, CSV, and JSON.
MSBuild Chain Extension Pattern: Why You Should Never Overwrite DependsOn PropertiesLearn why you must append to MSBuild DependsOn properties instead of overwriting. Discover how overwriting breaks build chains and silently removes SDK targets.
How to Configure BenchmarkDotNet Jobs for Cross-.NET Version Performance ComparisonEasily compare .NET 8.0 vs .NET 9.0 performance. Learn how to configure BenchmarkDotNet jobs for seamless cross-.NET version performance comparisons within a single benchmark class.
Pitfalls of IFormFile for Large File Uploads: How to Use MultipartReader in ASP.NET CoreAvoid IFormFile memory issues for large uploads. Learn how ASP.NET Core MultipartReader streams files efficiently, preventing bottlenecks and exhaustion.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →