关于程序集引用的问题

cs_oldhorse 2011-09-14 03:14:04
3个工程A(业务逻辑),B(数据访问),C(服务实现类)
C引用A,A引用B,现在A和B能编译通过,但是C无法通过,提示需要添加对B的引用,而且C添加了对B的引用后可以编译通过了,但是按道理是不需要对B直接引用的,不知道为什么,请大侠们赐教。
...全文
112 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
cs_oldhorse 2011-09-19
  • 打赏
  • 举报
回复
感谢各位大侠的解答,没太多时间来看,结了贴先,希望能讨论的再接着讨论!多谢多谢
余山水 2011-09-15
  • 打赏
  • 举报
回复
设置项目的依赖顺序和编译顺序
bala7229291 2011-09-14
  • 打赏
  • 举报
回复
另外请楼主注意编译的顺序,设置为从A开始,先排除以上两个问题吧
bala7229291 2011-09-14
  • 打赏
  • 举报
回复
我觉得如果真的像楼主那样说的话,应该是没问题的,可是我估计业务逻辑(A)里面用什么数据与C联系呢,或许你觉得只是使用的方法,但是按照一般的逻辑这里面应该有一个数据实体层吧,三个层面都要使用数据实体,或许你的数据实体并没有单独一层出来,因此你的A必须要引用B
myceolzy 2011-09-14
  • 打赏
  • 举报
回复
A(业务逻辑),B(数据访问),C(服务实现类)
C引用A,A引用B,C需要用B,我想是会不会是因为B里面有你需要的数据模型。
比如你使用Linq To SQL来实现数据访问,那么B在提供数据为访问的同时,也提供的数据模型;

好像我记得应该是:
A(业务逻辑),B(数据访问),C(服务实现类),D(自定义数据模型)
A引用B,D
C引用A,D
这是我的一点想法,有问题,请指正!
monkeyHere 2011-09-14
  • 打赏
  • 举报
回复
C引用A, 只能使用A里面的方法
A引用B, 只能使用B里面的方法

如果C使用了B里面的方法,就需要引用B了~
  • 打赏
  • 举报
回复
我刚才写了个demo,我感觉不用吧,以前写代码没注意这个问题。
引用了C引用了A了,A又引用了B的。你自己写个test试试,至少我这测试不需要
zhantianyou 2011-09-14
  • 打赏
  • 举报
回复
不用。是不是你程序那里有问题。是你不你直接引用到B里的东西了
636f6c696e 2011-09-14
  • 打赏
  • 举报
回复
第一,不就多加一行using么,用得着弄这么复杂么
第二,我写了个测试代码,只要用到B里面的一些数据结构,就必须引用B。
[Quote=引用 6 楼 cs_oldhorse 的回复:]
感觉也不对,生成的程序集里应该都包含了所引用的程序集的元数据了吧,除非有直接调用B里的方法才需要直接引用B的程序集,大侠们啊,赐教啊
[/Quote]
cs_oldhorse 2011-09-14
  • 打赏
  • 举报
回复
感觉也不对,生成的程序集里应该都包含了所引用的程序集的元数据了吧,除非有直接调用B里的方法才需要直接引用B的程序集,大侠们啊,赐教啊
cs_oldhorse 2011-09-14
  • 打赏
  • 举报
回复
to colinfang2006大侠,问一下,是不是如果是引用的程序集就不需要这样子直接引用,目前我是引用的工程
qaz1012996846 2011-09-14
  • 打赏
  • 举报
回复
顶顶顶顶顶顶
cs_oldhorse 2011-09-14
  • 打赏
  • 举报
回复
C是直接调用A里的方法啊,没有直接跟B里的内容打交道,也需要直接引用B吗?大侠
636f6c696e 2011-09-14
  • 打赏
  • 举报
回复
这不是C++引用头文件啊。。。
C#必须全部引用

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧