При написании этого вопроса я пришел к выводу, что новейшая версия Microsoft.NET.Test.Sdk
(16.4.0 на момент написания этой статьи) может быть несовместима с предыдущими платформами. Я проверил эту теорию как:
- Условно указав
15.3.0
для netcoreapp1.1
ItemGroup + PackageReference - Откат к
16.3.0
для одной из netcoreapp2.0
целей
После этого:
dotnet test
находит почти все, но все еще не цель 16.3.0
+ netcoreapp2.0
. По-видимому, это исправлено дальнейшим отступлением до 16.2.0
, поскольку Microsoft.TestPlafrom.TestHost
16.3.0
имеет требование netcoreapp2.1
- VS2019 по-прежнему имеет жалобы, но может найти как
15.3.0
, так и 16.3.0
Microsoft.NET.Test.Sdk
упомянутых проектов
Это согласуется с выводами Bruno Garcia
в ссылке для разработчиков. Я не рассматриваю откат решения так, как обходной путь. Я чувствую себя лучше об этом обходе путем использования условия для фильтрации по TargetFramework.
Что было бы весьма полезно, так это большее предупреждение от Visual Studio о том, что проблемы зависимости от версии действительно вызывают проблемы. dotnet test
дает некоторую обратную связь в этой области, если вы посмотрите внимательно.