安装NuGet软件包时,可以解决这些.dll问题吗?
我从阅读与我类似的建议问题开始,但是没有解决方案:为什么MSTest.TestAdapter将其DLL添加到我的NuGet包中? 快速问题描述 我写了一个NuGet包,每一次我安装它,NUnit和NUnit3TestAdapter .dll的被添加到我安装的项目。我想找到解决此问题的解决方案。 复制步骤 我推了两个git存储库,它们再现了我正在描述的问题。 ClientLibrary/ MainFramework(我从中生成NuGet包的项目)-https: //github.com/harbourc/client-library-repro-nuget-issue TargetProject(要安装该软件包的项目)-https://github.com/harbourc/target-project-repro-nuget-issue 您可以克隆两个存储库,还原它们的NuGet包,并按以下步骤重现该问题: 在client-library-repro-nuget-issue / ClientLibrary /中找到ClientLibrary.1.0.0.nupkg 打开包管理器控制台以执行target-project-repro-nuget-issue并运行 Install-Package C:\Path\To\client-library-repro-nuget-issue\ClientLibrary\ClientLibrary.1.0.0.nupkg 注意NUnit和NUnit3TestAdapter .dll被加入的TargetProject-尽管TargetProject已经有了NUnit和NUnit3TestAdapter安装。 更长的概述 我创建了自己的NuGet软件包供内部使用,名为ClientLibrary,并且尝试将其安装到另一个项目上TargetProject。这是结构的快速分解: FullSolution.sln MainFramework.csproj ClientLibrary.csproj-> .nupkg由此产生 单独的项目: TargetProject.sln TargetProject.csproj->安装.nupkg到此 ClientLibrary引用MainFramework并使用了许多方法MainFramework。 当安装ClientLibrary.1.0.0.nupkg到TargetProject,下面.dll的越来越添加到TargetProject: nunit.engine.api.dll nunit.engine.dll NUnit3.TestAdapter.dll NUnit3.TestAdapter.pdb 如果删除这些.dll,一切正常,因为TargetProject无论如何已经安装了这些软件包。它们不是必需的,在安装时必须删除它们只是很烦人。 这是我将ClientLibraryNuGet包添加到的方式TargetProject: 生成ClientLibrary和MainFramework项目以生成其.dll 将目录更改为ClientLibrary文件夹并运行nuget spec .nuspec 文件生成: <?xml version="1.0"?> <package > <metadata> <id>ClientLibrary</id> <version>1.0</version> <title>Client …