【发布时间】:2014-06-12 09:45:03
【问题描述】:
在我的解决方案中,我有三个项目(Web、业务和数据)都针对 .net 4.5.1。 网络参考商业和商业参考数据。
我需要根据应用程序启动在这三个项目中执行一个初始化方法。所以我在所有项目中都创建了一个 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
}
}
}
在网络项目中:
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..
【问题讨论】:
-
如果
Data Project's输出为dll,则将该dll 添加到Business Project的引用中。 -
我的业务项目已经引用了 Data.dll,我的 Web 项目引用了 Business.dll
-
你能在每个班级显示
namespaces吗? -
另外请澄清所有项目都是使用相同版本的 .Net Framework 构建的?
-
@HassanNisar 我更新了解释,所有项目都针对.net 4.5.1
标签: c# .net inheritance .net-assembly