繁体   English   中英

未使用(和引用)的程序集上的程序集引用错误,为什么会出现此错误?

[英]Assembly reference error on not used (and referenced) assembly, why do I this error?

在我的解决方案中,我有三个项目(Web,业务和数据)都针对.net 4.5.1。 Web参考业务和业务参考数据。

我需要根据应用程序启动在这三个项目中执行初始化方法。 因此,我在所有项目中都创建了一个Boot类。

Business中的Boot类继承自Data中的Boot类,而Web中的Boot类继承于Business中的Boot类

所以我有这段代码:

在数据项目中:

namespace Data
{
    public class Boot
    {
        public Boot() 
        {
            // init execution
        }
    }
}

在业务项目中:

namespace Business
{
    public class Boot : Data.Boot
    {
        public Boot() : base()
        {
            // init execution
        }
    }
}

在Web项目中:

namespace Web
{
    public class Boot : Business.Boot
    {
        public Boot() : base()
        {
            // init execution
        }
    }
}

当我编译时,Web项目中的Boot类出现错误:

类型“ Data.Boot”是在未引用的程序集中定义的。 您必须添加对程序集'Data,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null'的引用

而且我不明白为什么我的Web项目需要引用我的Data项目。它从不直接使用Data.Boot。

您必须在Web和业务项目中添加对数据项目的引用。 在您的情况下,您的Web层取决于业务层数据层。

总结一下:

  • Web项目引用业务项目和数据项目
  • 业务参考数据项目

您必须检查在业务项目中是否引用了数据DLL,如果是,则必须清理解决方案并重新生成它

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM