日期:2014-05-16  浏览次数:20798 次

关于项目相互引用的问题
1.我的底层代码为了功能分得比较细化,都放在独立的项目中
如一个是我的公用函数项目,
PublicFunction 
一个是我的公用类
PublicClass
但我这两个项目中都需要用到对方的功能,我不想把这此功能再放到另外的地方,但我现在如何直接引用就会
引起循环依赖问题.我该如何解决这个问题
------解决方案--------------------

不要直接进行项目引用。可以这么干。利用 项目属性 “生成” 里面有个生成后命令 把生成的DLL自动考到一个地方。两个DLL都是这样不过呢要至少先生成一个。然后。。。第二个项目引用这个生成后的DLL.然后再生成第二个项目 DLL 同样道理第一个项目也是引用DLL 这样就可以了。不过不建议这么干。还是移动第三个项目上吧,你要是这样做你后面会发现非常蛋疼发现各种的编译异。。某DLL正被使用。。。
------解决方案--------------------
你的程序结构设计本身就有问题,还自以为优秀而不愿意改变,这样的话没人能帮你。自求多福吧。
------解决方案--------------------
同楼上,这个结构设计的确实很有问题,如果项目不是很大,可以考虑重构
------解决方案--------------------
最好不要循环引用。

要么 加入新的Project,现有Projects都引用它。
要么合并project. 

还有一种方法,就是使用Add as link方式加入Existing Item. 这样两个工程可以共享一个类文件。
------解决方案--------------------
呵呵,你得理解VS的生成顺序,它是基于一个个项目生成的顺序来运行,好吧,就算我们自己生成DLL也是得按一个个顺序来编绎吧,也只有按二楼的办法可以生成,不过更新起来以后会很麻烦。
------解决方案--------------------
还是合并掉吧,直接合并成public.net之类的就是了,接下来通过命名空间控制就是了。例如顶级命名空间有PFunction,那么这下面就放PublicFunction的,PClass下就放PublicClass的。
------解决方案--------------------
耦合这么严重说明设计层次不对.