.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>