Skip to content

Conversation

nohwnd
Copy link
Member

@nohwnd nohwnd commented Aug 28, 2025

Summary

Adds short doc that is linked from the error shown when tpv0 is used in VSTest 18. The component was removed and this doc will help dispatching the users to migration documents, especially mstest v1 to mstest v3 where we expect the most "traffic". This is also a place that we can update with additional FAQ etc as more people encounter this error.


Internal previews

📄 File 🔗 Preview link
docs/core/testing/unit-testing-mstest-migration-from-tmi.md docs/core/testing/unit-testing-mstest-migration-from-tmi
docs/navigate/devops-testing/toc.yml docs/navigate/devops-testing/toc

@dotnetrepoman dotnetrepoman bot added this to the August 2025 milestone Aug 28, 2025
@dotnet-policy-service dotnet-policy-service bot added dotnet-fundamentals/svc community-contribution Indicates PR is created by someone from the .NET community. labels Aug 28, 2025
@nohwnd nohwnd marked this pull request as ready for review August 28, 2025 08:43
@nohwnd nohwnd requested review from IEvangelist and a team as code owners August 28, 2025 08:43
@BillWagner BillWagner requested a review from gewarren August 29, 2025 14:24
@BillWagner
Copy link
Member

Adding @gewarren as a reviewer as this is related to breaking changes in the product.


# MSTest legacy runner migration guide

This guide assists users in upgrading their MSTest tests that rely on legacy test runner in Visual Studio and VSTest, to move to latest MSTest.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
This guide assists users in upgrading their MSTest tests that rely on legacy test runner in Visual Studio and VSTest, to move to latest MSTest.
This guide assists you in upgrading your MSTest tests that rely on legacy test runner in Visual Studio and VSTest to the latest MSTest.


### Who is impacted?

Users who upgrade to VSTest 18.0.0 or newer and encounter error:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Users who upgrade to VSTest 18.0.0 or newer and encounter error:
If you upgrade to VSTest 18.0.0 or later and encounter error the following error, you need to migrate:


### Solving the error

The error can show up for multiple reasons, typically the reasons that are listed.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The error can show up for multiple reasons, typically the reasons that are listed.
The error can appear for multiple reasons:
- [Using a .testsettings file](#using-a-testsettings-file)
- [Setting ForcedLegacyMode](#setting-forcedlegacymode)
- [Web and Load tests (WLT)](web-and-load-tests-wlt)
- [Coded UI tests (CUIT)](#coded-ui-tests-cuit)
- [Manual tests](#manual-tests)
- [Generic tests](#generic-tests)


Version 18 of VSTest removed the ability to run MSTest v1 tests via the legacy runner (running MSTest v1 tests via VSTest remains unaffected.). The legacy runner, also called TMI, TPv0, QTAgent, was removed from VSTest and Visual Studio.

### Solving the error
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
### Solving the error
### Resolve the error


The error can show up for multiple reasons, typically the reasons that are listed.

#### Using .testsettings file
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
#### Using .testsettings file
#### Using a .testsettings file


Providing `.testsettings` file to the run will trigger this error. Test settings files are no longer supported in VSTest and you should replace them with `.runsettings` file.

To migrate from testsettings to runsettings, you can use the TestSettings migrator tool that is shipped with Visual Studio 2022. For more information, see [Upgrade from .testsettings to .runsettings](https://learn.microsoft.com/visualstudio/test/migrate-testsettings-to-runsettings).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
To migrate from testsettings to runsettings, you can use the TestSettings migrator tool that is shipped with Visual Studio 2022. For more information, see [Upgrade from .testsettings to .runsettings](https://learn.microsoft.com/visualstudio/test/migrate-testsettings-to-runsettings).
To migrate from testsettings to runsettings, you can use the TestSettings migrator tool that shipped with Visual Studio 2022. For more information, see [Upgrade from .testsettings to .runsettings](/visualstudio/test/migrate-testsettings-to-runsettings).


#### Running Web and Load test (WLT)

Web and Load test workload and adapter was deprecated and removed. If you still have the need to run Web and Load tests, avoid upgrading from VSTest 17.x.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Web and Load test workload and adapter was deprecated and removed. If you still have the need to run Web and Load tests, avoid upgrading from VSTest 17.x.
The Web and Load test workload and adapter was deprecated and removed. If you still need to run Web and Load tests, avoid upgrading from VSTest 17.x.


#### Running Coded UI Tests (CUIT)

Coded UI test workload and adapter was deprecated and removed. If you still have the need to run Coded UI tests, avoid upgrading from VSTest 17.x.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Coded UI test workload and adapter was deprecated and removed. If you still have the need to run Coded UI tests, avoid upgrading from VSTest 17.x.
The Coded UI test workload and adapter was deprecated and removed. If you still need to run Coded UI tests, avoid upgrading from VSTest 17.x.


#### Running manual tests

Manual test test type was deprecated and removed. If you still have the need to manual tests, avoid upgrading from VSTest 17.x.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Manual test test type was deprecated and removed. If you still have the need to manual tests, avoid upgrading from VSTest 17.x.
The manual-test test type was deprecated and removed. If you still need to run manual tests, avoid upgrading from VSTest 17.x.


#### Generic tests tests

Generic test test type was deprecated and removed. If you still have the need to manual tests, avoid upgrading from VSTest 17.x.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Generic test test type was deprecated and removed. If you still have the need to manual tests, avoid upgrading from VSTest 17.x.
The generic-test test type was deprecated and removed. If you still need to run generic tests, avoid upgrading from VSTest 17.x.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
community-contribution Indicates PR is created by someone from the .NET community. dotnet-fundamentals/svc
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants