platform-detection

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

1|Updated Jul 27, 2026
One-click install
npx skills add https://github.com/FittyAr/Cardscape --skill platform-detection-fittyar
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: platform-detection
Source: https://github.com/FittyAr/Cardscape/tree/main/.agents/skills/platform-detection
Command: npx skills add https://github.com/FittyAr/Cardscape --skill platform-detection-fittyar

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+ or MSBuild properties on .NET 8/9. - Use Case: Before running or migrating tests, an AI agent consults this reference to correctly determine that a project with <EnableMSTestRunner>true</EnableMSTestRunner> in Directory.Build.props uses MTP, avoiding incorrect VSTest filter syntax. ## Quick Start Ask the AI to determine which test platform and framework a given .NET test project uses by inspecting its global.json, .csproj, and Directory.Build.props files.

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 Microsoft.Testing.Platform or VSTest?▼

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?▼

Inspect the .csproj and central package files for package references: MSTest or MSTest.Sdk indicates MSTest, xunit packages indicate xUnit, NUnit with NUnit3TestAdapter indicates NUnit, and TUnit indicates TUnit.

Does Microsoft.NET.Test.Sdk mean the project uses VSTest?▼

No. Some frameworks like MSTest pull in Microsoft.NET.Test.Sdk transitively even when Microsoft.Testing.Platform is enabled. Always check MTP signals such as TestingPlatformDotnetTestSupport or runner properties 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 property.

Can TUnit run on VSTest?▼

No. TUnit is Microsoft.Testing.Platform-only, so detecting a TUnit package reference means the project uses MTP. This makes TUnit a definitive platform signal during detection.