【发布时间】:2008-10-03 05:20:24
【问题描述】:
如果我有一个引用另一个程序集 (B) 的程序集 (A)。 我想在项目中引用 A,我添加引用并将 A 复制到我的 BIN 目录中。它也不会复制 B,即使 A 依赖于它,所以代码不会编译。 我该如何设置,以便每当我引用 A 时,A 和 B 都会被复制到我的 bin 目录中?
【问题讨论】:
如果我有一个引用另一个程序集 (B) 的程序集 (A)。 我想在项目中引用 A,我添加引用并将 A 复制到我的 BIN 目录中。它也不会复制 B,即使 A 依赖于它,所以代码不会编译。 我该如何设置,以便每当我引用 A 时,A 和 B 都会被复制到我的 bin 目录中?
【问题讨论】:
在 Visual Studio 中,将每个项目添加到同一个解决方案中。确保您使用项目引用而不是直接文件引用(即浏览程序集)。
【讨论】:
我认为除了明确添加两者之外,没有其他方法可以解决您的要求。但是,我不认为为了复制参考而添加项目是解决该问题的可行解决方案。并非解决方案所依赖的所有项目都必须添加到解决方案中。这将完全取决于您的整体项目结构、流程、源代码控制、分工等
【讨论】:
参考 A 和 B。
【讨论】:
很遗憾,您必须手动添加两者。当我使用 3.5 之前的 NHibernate 版本时,我也会遇到这种情况:它需要 log4net 和 Iesi.Collections 程序集。所以我别无选择,只能在我所有实现 NHibernate 的解决方案中手动包含对这两者的引用。
当然,如果您只有 DLL,这将是一个更大的问题。如果它是一个项目,您拥有 Visual Studio 本身的代码库,则会事先警告您缺少引用。
【讨论】:
将它们添加到全局程序集缓存怎么样?
【讨论】: