我有一个 CommonUtils 库,我已经内置到一个 dll 中,我从我的几个项目中引用了它。CommonUtils 依赖于在构建 CommonUtils.dll 时设置为文件引用和 copy-local=true 的 log4net.dll。log4net.dll 和 CommonUtils.dll 不在 GAC 中。
在 MyWorkingProject 中一切正常,我只有一个对 CommonUtils.dll 的文件引用 - log4net.dll 显示在输出目录中(因为它是 CommonUtils.dll 的依赖项,但未从 MyWorkingProject 引用)。但是,如果我创建一个新项目来添加一些单元测试:MyWorkingProjectTest 和项目引用 MyWorkingProject,然后在此处再次文件引用 CommonUtils.dll(我想使用一些 CommonUtils)然后在构建 log4net.dll 时,它是两个项目的依赖项参考和文件参考也不会被复制到输出目录。
谁能澄清这里发生了什么?编译器是否不知道它应该抓取哪个 log4net.dll 文件?我在这里做错了什么吗?我应该以其他方式执行此操作以显式复制 log4net.dll 吗?我必须明确引用 log4net 是否有意义?