Я делаю основной пакет для всех тестовых проектов в нескольких решениях. График зависимостей выглядит следующим образом:
MyTests.csproj -> MyTestFramework (nuget package) -> JUnitTestLogger (nuget package)
Проблема в том, что JUnitTestLogger.dll должен быть скопирован в выходную папку при сборке MyTests.csproj
, или он просто не работает. Хорошо, я добавляю:
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
к MyTests.csproj
и строю заново В результате в выходной папке есть все переходные зависимости dll ... за исключением JUnitTestLogger.dll. Я проверил его исходный код JUnitTestLogger.csproj и не нашел ничего особенного.
Что не так с этим пакетом, почему он не скопирован? Я спрашиваю здесь, а не на Github из-за низкой активности в репо проекта.
MyTests.csproj
:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="MyTestFramework" Version="1.2.3" />
</ItemGroup>
</Project>
MyTestFramework.csproj
(часть):
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<IsPackable>true</IsPackable>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="JUnitTestLogger" Version="1.1.0" />
</ItemGroup>
</Project>
Сгенерировано автоматически MyTestFramework.nuspec
(часть):
<dependencies>
<group targetFramework=".NETCoreApp2.2">
<dependency id="JUnitTestLogger" version="1.1.0" exclude="Build,Analyzers" />
</group>
</dependencies>