Migrate legacy .NET project files to SDK-style format, reducing repetitive XML and explicit file lists. Convert package references, move assembly metadata into project settings, and consolidate shared build and package settings across multiple projects.
- Convert legacy .csproj or .vbproj files to SDK-style
- Migrate packages.config to PackageReference
- Replace AssemblyInfo.cs with generated assembly metadata
dotnet/skills☆ 5.7KUpdated Oct 20, 2026
Upgrade MSTest v3 test projects to v4 by updating packages, adapting code to changed APIs, and checking execution behavior. It also helps resolve build errors and problems finding tests in CI after an upgrade.
- Upgrading an MSTest v3 project to v4
- Fixing compilation errors after an upgrade
- Updating custom TestMethodAttribute implementations
dotnet/skills☆ 5.7KUpdated Oct 20, 2026
Interpret .NET coverage reports, which show code exercised by tests, to explain missing coverage and stalled progress. Calculate the gains needed to reach a target and, when requested, combine coverage with complexity to rank risk.
- Explain Cobertura reports and partially covered conditions
- Find the code keeping coverage from improving
- Calculate line gains needed to reach a coverage target
dotnet/skills☆ 5.7KUpdated Oct 20, 2026
Provide reference syntax for selecting .NET tests by name, class, category, or other properties. Help test-running skills construct filters for VSTest and Microsoft Testing Platform, or translate existing filters for a different test framework.
- Selecting tests by class or method
- Including or excluding tests by category or property
- Translating VSTest filters for xUnit v3 on MTP
dotnet/skills☆ 5.7KUpdated Oct 20, 2026
Replace C# static calls for time, files, or environment values with existing abstractions that tests can substitute. Update construction and affected tests within a defined scope, while preserving read counts, evaluation order, date-time semantics, and existing static callers.
- Migrating DateTime.UtcNow calls to TimeProvider
- Replacing File calls with an existing IFileSystem
- Replacing disk or environment access in unit tests with fakes
dotnet/skills☆ 5.7KUpdated Oct 20, 2026
Set up a persistent Microsoft Testing Platform console host that applies code edits and automatically reruns tests. It covers package setup, test selection, and restarting the host when an edit cannot be applied while running.
- Setting up MTP console hot reload
- Automatically rerunning selected tests after edits
- Restarting after unsupported code changes
dotnet/skills☆ 5.7KUpdated Oct 20, 2026
Create a missing .NET test project or repair references and solution registration in an existing one. Follow the repository’s framework and package conventions, then verify the build or test entry point used by CI, the automated integration process.
- Set up a new .NET test project
- Repair tests missing from CI discovery
- Restore a reference to production code
dotnet/skills☆ 5.7KUpdated Oct 20, 2026
Find changes in observable behavior that existing tests could miss. Map public results to test assertions, identify gaps in boundaries, permissions, and calculations, and propose focused tests, with optional verification when requested.
- Check whether existing tests would catch a bug
- Find missing boundary and permission-denial tests
- Review exact amounts and rounding in financial calculations
dotnet/skills☆ 5.7KUpdated Oct 20, 2026
Classify existing tests with standard tags for success cases, errors, boundaries, and other behaviors. Get a per-test mapping and distribution summary, or apply tags using supported framework syntax and verify compilation and test discovery.
- Comparing success-case and error-case test counts
- Adding standard tags to existing tests
- Reviewing the mix of boundary and integration tests
dotnet/skills☆ 5.7KUpdated Oct 20, 2026
Identify a .NET project’s test framework, project format, and execution platform: VSTest or Microsoft.Testing.Platform. Trace configuration imports and overrides to explain the result, including conflicting settings or differences between target frameworks.
- Determine whether tests execute on VSTest or MTP
- Identify the test framework from project configuration
- Investigate conflicting runner settings
dotnet/skills☆ 5.7KUpdated Oct 20, 2026
Diagnose and fix MSBuild property problems, including overwritten settings, ineffective conditions, and environment-dependent paths. Review defaults, list appending, and evaluation order so project files and shared build settings retain the intended values.
- Fix build settings overwritten by shared files
- Preserve existing compilation constants when adding new ones
- Correct conditions based on the target framework
dotnet/skills☆ 5.7KUpdated Oct 20, 2026
Migrate .NET Framework code that forcibly stops threads to cooperative cancellation, where work checks and responds to stop requests. The skill covers loops, timeouts, blocked threads, and ASP.NET request endings, with cleanup and validation guidance.
- Replacing Thread.Abort when moving to .NET 6 or later
- Migrating timeouts and blocked-thread cancellation
- Preserving cleanup from ThreadAbortException handlers
dotnet/skills☆ 5.7KUpdated Oct 20, 2026
Refactor C#/.NET code through renaming, extraction, consolidation, and other structural changes while preserving behavior. Check compatibility beyond code references, including public APIs and serialized names, then validate with builds and relevant tests.
- Rename C# members and update their references
- Extract shared logic from duplicate code
- Reorganize code while preserving public API compatibility
dotnet/skills☆ 5.7KUpdated Oct 20, 2026
Configure automatic crash dumps, files that capture application state, or collect one from a running modern .NET process. Follow platform and runtime guidance for desktop, server, Docker, or Kubernetes environments and receive the saved file location.
- Enabling automatic dump collection when a .NET app crashes
- Capturing a dump from a running .NET process
- Setting up dump collection in Docker or Kubernetes
dotnet/skills☆ 5.7KUpdated Oct 20, 2026
Run small C# apps without creating a project, using the .NET CLI, its command-line tool. Use it to test language features, explore APIs, or prototype utilities with helper files and NuGet packages.
- Trying C# language features or APIs
- Prototyping logic before project integration
- Building a small utility with helper files
dotnet/skills☆ 5.7KUpdated Oct 20, 2026
Convert an older Blazor Server app into a .NET 8+ Blazor Web App while preserving interactive server behavior. It guides changes to page structure, startup configuration, authentication state sharing, and validation of the converted app.
- Converting a .NET 6 or .NET 7 Blazor Server app
- Moving the host page into App.razor
- Updating authentication state sharing
dotnet/skills☆ 5.7KUpdated Oct 20, 2026
Add light and dark modes or custom color themes to .NET MAUI apps. Covers following system settings, switching themes while the app runs, and saving each user's preferred theme.
- Adding light and dark modes
- Creating custom brand color themes
- Following changes to the system theme
dotnet/skills☆ 5.7KUpdated Oct 20, 2026
Adjust .NET MAUI layouts to avoid system bars, screen cutouts, and keyboards, or extend content to screen edges. It covers .NET 10 safe area APIs, migration from older settings, and CSS coordination for Blazor Hybrid.
- Fixing status bar overlap after upgrading to .NET 10
- Keeping chat inputs visible above the keyboard
- Creating edge-to-edge photo or video screens
dotnet/skills☆ 5.7KUpdated Oct 20, 2026
Review C#/.NET code for about 50 inefficient API usage patterns across asynchronous work, memory, strings, collections, and I/O. Get exact occurrence counts, prioritized findings, and concrete fixes, with attention to frequently executed code.
- Reviewing frequently executed C#/.NET code
- Finding unnecessary memory allocations
- Checking known performance pitfalls before release
dotnet/skills☆ 5.7KUpdated Oct 20, 2026
Investigate .NET app crashes on Apple platforms by converting runtime addresses in .ips logs into function names, source files, and line numbers. It locates matching debug symbols and supports retrieving logs from connected iOS devices.
- Investigating .NET MAUI or Mono crashes on Apple platforms
- Resolving runtime addresses to source files and line numbers
- Retrieving crash logs from a connected iPhone
dotnet/skills☆ 5.7KUpdated Oct 20, 2026
Design, configure, run, and review BenchmarkDotNet measurements of small .NET operations. Compare implementations, runtime versions, or input sizes, while controlling setup work, measurement errors, and case counts so results support a concrete performance decision.
- Compare the performance of alternative implementations
- Reproduce a reported performance problem
- Measure performance before and after a code change
dotnet/skills☆ 5.7KUpdated Oct 20, 2026
Diagnose and fix .NET MAUI development environment problems involving SDKs, Java, Android tools, and platform requirements. The skill discovers required versions from NuGet metadata and checks the environment again after each fix.
- Setting up a .NET MAUI development environment
- Investigating missing SDK or JDK build errors
- Checking the environment after SDK or OS updates
dotnet/skills☆ 5.7KUpdated Oct 20, 2026
Plan initialization, state saving, restoration, and cleanup around .NET MAUI app lifecycle events. Understand how Window events map to each platform, distinguish lost focus from backgrounding, and account for multiple windows.
- Saving drafts and form inputs when an app enters the background
- Restoring state and refreshing data when an app resumes
- Choosing lifecycle events for initialization and cleanup
dotnet/skills☆ 5.7KUpdated Oct 20, 2026
Build scrollable lists and grids in .NET MAUI using CollectionView. The guidance covers item layouts, selection, grouping, refresh gestures, incremental loading, swipe actions, and empty states, with examples and checks for common implementation mistakes.
- Building scrollable lists or grids in .NET MAUI
- Adding item selection and grouped displays
- Implementing pull-to-refresh and incremental loading
dotnet/skills☆ 5.7KUpdated Oct 20, 2026