.net core JUnitTestLogger.dll是可传递依赖项时,不会在生成时复制它

.net core JUnitTestLogger.dll是可传递依赖项时,不会在生成时复制它,.net-core,build,msbuild,nuget,csproj,.net Core,Build,Msbuild,Nuget,Csproj,我正在为几个解决方案中的所有测试项目制作一个核心包。依赖关系图类似于: MyTests.csproj -> MyTestFramework (nuget package) -> JUnitTestLogger (nuget package) 问题是必须将junitestlogger.dll复制到构建MyTests.csproj时的输出文件夹,否则它就无法工作。好的,我补充说: <CopyLocalLockFileAssemblies>true</CopyLocal

我正在为几个解决方案中的所有测试项目制作一个核心包。依赖关系图类似于:

MyTests.csproj -> MyTestFramework (nuget package) -> JUnitTestLogger (nuget package)
问题是必须将junitestlogger.dll复制到构建
MyTests.csproj
时的输出文件夹,否则它就无法工作。好的,我补充说:

<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
MyTestFramework.csproj
(部分):


我是JunitXml.TestLogger(一个比您提到的更新的包,但两者都来自同一个源代码,并共享一些代码)的维护人员。我所知道的测试记录器的主要不寻常之处是,它们在您的项目中被引用,但没有被代码使用

我还没有看到这个具体的问题,但是在过去有几个库在构建时没有被复制。当我第一次使用这些库时,我必须在我的CI构建中添加额外的步骤来复制库。据我回忆,我的解决方案与问题中的解决方案相同,即从
msbuild
切换到
dotnet build
。因此,也许这一点或其他已解决的问题会提供线索。

“引用但未使用”不是问题所在。我刚刚从nuget添加了一个随机包,并使用
选项重建了项目。包dll已出现在输出文件夹中。
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netcoreapp2.2</TargetFramework>
    <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="MyTestFramework" Version="1.2.3" />
  </ItemGroup>
</Project>
<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>
<dependencies>
  <group targetFramework=".NETCoreApp2.2">
    <dependency id="JUnitTestLogger" version="1.1.0" exclude="Build,Analyzers" />
  </group>
</dependencies>