migrate-mstest-v1v2-to-v3

Migrates MSTest v1 or v2 test projects to MSTest v3 with breaking-change fixes.

1|Updated Jun 1, 2026
One-click install
npx skills add https://github.com/D1ssolve/craft-agents --skill migrate-mstest-v1v2-to-v3-d1ssolve
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: migrate-mstest-v1v2-to-v3
Source: https://github.com/D1ssolve/craft-agents/tree/main/skills/migrate-mstest-v1v2-to-v3
Command: npx skills add https://github.com/D1ssolve/craft-agents --skill migrate-mstest-v1v2-to-v3-d1ssolve

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Upgrading a .NET test project from MSTest v1 (assembly references) or v2 (NuGet 1.x-2.x) to MSTest v3 introduces breaking changes such as removed assertion overloads, strict DataRow type matching, dropped target frameworks, and unsupported .testsettings files, causing build errors and silently ignored configuration. ## Core Features & Use Cases - Version Detection and Assessment: Identifies whether a project uses MSTest v1 assembly references or v2 NuGet packages before recommending migration steps. - Breaking Change Resolution: Provides concrete before/after fixes for Assert.AreEqual generic overloads, DataRow strict type matching, timeout behavior, and target framework updates. - Configuration Migration: Replaces .testsettings with equivalent .runsettings and supports adopting the MSTest metapackage or MSTest.Sdk. - Use Case: After bumping MSTest.TestFramework from 2.2.10 to 3.8.0, a project fails to compile with Assert.AreEqual overload errors; this Skill walks through each error and applies the correct generic-type fix. ## Quick Start Migrate my test project from MSTest v2 to MSTest v3 and fix any build errors that appear.

Frequently Asked Questions about migrate-mstest-v1v2-to-v3

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

FAQPage Schema
How do I migrate from MSTest v2 to MSTest v3?

Update MSTest.TestFramework and MSTest.TestAdapter to version 3.8.0, or replace them with the unified MSTest metapackage. Then fix breaking changes such as adding generic type parameters to Assert.AreEqual and matching DataRow argument types exactly.

How do I fix Assert.AreEqual errors after upgrading MSTest?

MSTest v3 removed the Assert.AreEqual(object, object) overload, so untyped assertions no longer compile. Add an explicit generic type parameter, for example Assert.AreEqual<MyType>(expected, actual), and apply the same fix to AreNotEqual, AreSame, and AreNotSame.

Does MSTest v3 support .NET 5 or older .NET Framework versions?

No, MSTest v3 dropped .NET 5, .NET Framework older than 4.6.2, .NET Standard 1.0, and older UWP/WinUI versions. Update to .NET 6 or later, .NET Framework 4.6.2+, or .NET Standard 2.0 before migrating.

Why is my .testsettings file ignored after upgrading to MSTest v3?

MSTest v3 no longer supports .testsettings files or the LegacySettings element, so the configuration is silently ignored. Delete the .testsettings file and create a .runsettings file with equivalent settings such as MSTest TestTimeout.

When should I not use this MSTest v3 migration approach?

Do not use it when migrating from MSTest v3 to v4, which requires the migrate-mstest-v3-to-v4 skill, or when switching between test frameworks such as MSTest to xUnit or NUnit. It also does not apply to general .NET upgrades unrelated to MSTest.