我的项目引用的组件(将它称为X)引用另一个组件(将它称为Y)。

当我尝试编译我的项目,它要求应引用组装Y.这是为什么?我得到其中组件X引用的线以下错误:

  

类型“DevExpress.XtraEditors.XtraForm”在组件中定义   未被引用。您必须添加到程序集的引用   “DevExpress.Utils.v9.1,版本= 9.1.2.0,文化=中立,   公钥= b88d1754d700e49a”。

DevExpress.XtraEditors.XtraForm是组装ý。

这是为什么?我以前没有见过这种行为。

有帮助吗?

解决方案

此一直到位。如果您使用的是对象获取方法/属性/成员等汇编y您将只在编译的时候得到这些。

在为什么是因为.NET不能依靠组件X,以确保它就能得到正确的符号和元数据的信息。

其他提示

这一直是行为怎么回事将编译器生成项目,如果它不具有所有依赖的参考?

需要由您的项目中引用的组件为您的应用工作。您正在使用的类型从这些组件,没有这些类型的应用程序无法建立。更重要的是没有这些类型的应用程序无法运行。

现在考虑每次您参考始建于同样的组装和装配要求所有的及其的引用程序存在的占。这确实造成连锁反应,可恼人的,但最终的结果是,一旦你在执行应用程序时,CLR了所有它需要运行应用程序的组件。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top