Я переношу небольшую библиотеку, которая у меня на NuGet, на .NET Core.
Я создал библиотеки классов .NET Standard 1.6 для основного проекта и тестов и скопировал код. Я изменил модульные тесты, чтобы использовать атрибуты XUnit и утверждает, а не NUnit.
Кроме того, я в значительной степени следовал инструкциям в документации, поэтому я добавил следующие пакеты NuGet:
- Microsoft.NET.Test.Sdk
- XUnit
- xunit.runner.visualstudio
Увы, 1) Test Explorer не находит мои модульные тесты и (2) когда я запускаю dotnet test
, я получаю следующее:
Запуск тестового исполнения, пожалуйста, подождите... Не удалось найти testhost.dll для источника '[...]. Tests.dll'. Убедитесь, что в тестовом проекте есть ссылка на nuget пакета "microsoft.testplatform.testhost".
Я действительно добавил предложенный пакет Microsoft.TestPlatform.TestHost
NuGet, но ничего не изменил.
Итак, в чем проблема?
Я использую VS2017. Не то чтобы я думаю, что это имеет значение.
Обновить: изменение тестового проекта с Class Library (.NET Standard)
до Class Library (.NET Core)
устраняет проблему. Я до сих пор не понимаю, почему это должно иметь значение.