platform-detection

Detects the .NET test platform and test framework from project configuration files.

Updated Aug 9, 2026
One-click install
npx skills add https://github.com/adinj00/player-performance --skill platform-detection-adinj00
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: platform-detection
Source: https://github.com/adinj00/player-performance/tree/main/.agents/skills/platform-detection
Command: npx skills add https://github.com/adinj00/player-performance --skill platform-detection-adinj00

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Determining whether a .NET test project uses VSTest or Microsoft.Testing.Platform, and which framework (MSTest, xUnit, NUnit, TUnit) it runs on, requires checking multiple files with version-dependent rules that are easy to get wrong. ## Core Features & Use Cases - Framework Detection: Identifies MSTest, xUnit, NUnit, or TUnit from package references and SDK declarations in .csproj and central package management files. - Platform Detection: Distinguishes VSTest from Microsoft.Testing.Platform using global.json runner settings on .NET 10+ and MSBuild properties on .NET 8/9. - Use Case: Before running tests or migrating a project to Microsoft.Testing.Platform, use this reference to correctly identify the project's platform so the right CLI syntax and filter options are applied. ## Quick Start Check this project's .csproj, global.json, and Directory.Build.props to tell me which test platform and framework it uses.

Frequently Asked Questions about platform-detection

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I detect if a .NET project uses VSTest or Microsoft.Testing.Platform?

On .NET 10+, check the global.json test.runner setting, which is authoritative. On .NET 8 or 9, check the TestingPlatformDotnetTestSupport MSBuild property in the .csproj, Directory.Build.props, and Directory.Packages.props files.

How to identify which test framework a .NET project uses?

Read the .csproj and central package management files for package references. MSTest indicates MSTest, xunit or xunit.v3 packages indicate xUnit, NUnit with NUnit3TestAdapter indicates NUnit, and TUnit indicates TUnit.

Does Microsoft.NET.Test.Sdk mean a project uses VSTest?

No, Microsoft.NET.Test.Sdk does not necessarily mean VSTest. Some frameworks like MSTest pull it in transitively even when Microsoft.Testing.Platform is enabled, so always check MTP-specific signals first.

Why does TestingPlatformDotnetTestSupport not enable MTP on .NET 10?

On .NET 10+, the global.json test.runner setting takes precedence over TestingPlatformDotnetTestSupport. If the runner is VSTest or unset, the project uses VSTest regardless of that MSBuild property.

Can TUnit run on VSTest?

No, TUnit is Microsoft.Testing.Platform only. If a project references the TUnit package, it uses MTP by definition, making TUnit a definitive platform detection signal.