Имею набор из 6 тестовых сборок MSTest. Когда я открываю окно просмотра теста и группирую по проектам, появляются все мои проекты, за исключением одного. Я не могу заставить Visual Studio понять, что этот проект представляет собой сборку модульного теста.
Средство выполнения модульных тестов Resharper без проблем идентифицирует эту шестую сборку. Так что с этой точки зрения сборка прекрасна.
Как Visual Studio 2008 определяет, что сборка является сборкой модульного теста?
Я сравнил файлы csproj и не нашел ничего необычного.





При создании «Тестового» проекта в Visual Studio в csproj xml в самом первом элементе PropertyGroup добавляется следующий элемент:
<ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};
{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
Если вы создали тестовую сборку вручную, например, создав новую библиотеку классов и добавив ссылку на Microsoft.VisualStudio.QualityTools.UnitTestFramework, этого элемента не будет в вашем файле csproj, и Visual Studio проигнорирует все тесты, расположенные внутри.
Добавьте элемент, и все снова будет хорошо.
Спасибо! Также работает для VS2010.
Большое спасибо за это! Я только что преобразовал набор тестов NUnit в средство запуска Visual Studio и час бился над ним, прежде чем нашел ваш ответ.