У меня есть два тестовых проекта Nunit3 для netcoreapp2.0 (проект1, проект2)
<TargetFrameworks>netcoreapp2.0;net45</TargetFrameworks>
Каждый проект ссылается на следующие пакеты:
<ItemGroup>
<PackageReference Include="nunit" Version="3.9.0" />
<PackageReference Include="NUnit3TestAdapter" Version="3.9.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" />
</ItemGroup>
Проект модульного теста netcoreapp2.0 Project1ссылка на проект lib nestandard2.0 (MyNetstandardLib.dll).MyNetstandardLib.dll зависит от внешнего пакета nuget p1, p2 и p3.Этот успешный тестовый проект Nunit.
Ссылка на проект Project2 NUnit netcoreapp2.0 проект lib (MyCore2_0lib.dll), который зависит от MyNetstandardLib и того же внешнего nugetпакет p1, p2 и p3.
Тест выполняется с использованием dotnet test
:
dotnet test --framework net45 //Test Run Successful.
dotnet test --framework netcoreapp2.0 //Test Run Failed.
Проект Nunit Framework netcoreapp2.0 Сбой при выполнении теста и исключение:
Система.IO.FileNotFoundException: не удалось загрузить файл или сборку 'p1, версия = 5.8.4.0, культура = нейтральная, PublicKeyToken = 123456780abcd'
Я могу запустить MyCore2_0lib.dll
dotnet MyCore2_0lib.dll //Test Run Successful and can find its dependencies at runtime p1,p2 and p3 from its dep.json file.
Вопрос:
Почему NUnit netcoreapp2.0 не может загрузить внешние пакеты при тестировании другой библиотеки netcoreapp2.0 и вызвать файл исключений, но не может загрузить те же пакеты при тестированииnetstandard2.0?
Обновление
При копировании пакетов p1.dll, p2.dll и p3.dll в папку bin на netcoreapp2.0 выполняется тестовый запускуспешно.
Пакеты p1, p2 и p3 являются транзитивными зависимостями для одной из зависимостей проекта.
При проверке файла зависимостей (project2.test.deps.json) я не делалне найти эти переходные зависимости.