gpt4 book ai didi

.net - 引用的依赖关系未复制到输出目录

转载 作者:行者123 更新时间:2023-12-02 02:54:57 24 4
gpt4 key购买 nike

我有一个 CommonUtils 库,已内置到一个 dll 中,我从几个项目中引用了该库。 CommonUtils 依赖于 log4net.dll,在构建 CommonUtils.dll 时将其设置为文件引用并 copy-local=true。 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 是否有意义?

最佳答案

这是设计使然。您需要考虑引用的自动继承会导致的影响。虽然您可以从逻辑上看到引用应该是什么,但编译器没有这样的描述。从理论上讲,如果它遍历整个依赖关系树,您最终可以复制框架和操作系统的大部分。

这绝对是一种痛苦,我同意并理解你的沮丧,但我认为微软无法找到一种合乎逻辑的方法来做到这一点。

关于.net - 引用的依赖关系未复制到输出目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/374727/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com