PrivateAssets
работает, как и ожидалось, но пакет NuGet тестового адаптера NUnit добавляет цель сборки MSBuild, которая добавляет несколько файлов DLL в качестве элементов содержимого в проект, которые затем переходят через сборку - это имеет тот же эффект, что иесли вы добавили текстовый файл и задали его свойство «Копировать в выходной каталог».
NUnit3TestAdapter.props
содержит определения, такие как:
<Content Include="$(MSBuildThisFileDirectory)NUnit3.TestAdapter.dll">
<Link>NUnit3.TestAdapter.dll</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>False</Visible>
</Content>
Эти файлы должны отображаться, если вы нажмете "«Показать все файлы» в обозревателе решений Visual Studio.
Обратите внимание, что тестовые проекты не должны быть упакованы или на них есть ссылки.Они должны быть листовыми проектами.Шаблоны тестового проекта даже содержат определение <IsPackable>false</…>
, а основной пакет XUnit также добавляет его в качестве импортированного файла MSBuild.Среды тестирования предполагают, что вы будете использовать их библиотеки абстракций, а не сборки времени выполнения / пакеты тестовых адаптеров для проектов, которые совместно используют тесты или логику тестирования.