在不同的解决方案之间,项目有可能发生循环引用。
在最近的一个项目中碰到的例子:
Project.Common和A.MT相互引用,产生了循环,结果导致两个项目都无法生成。
这就涉及到项目最初的一个整体部署问题,
Project.Common是最底层,存放了解决方案中公用的部分,它可以被其他的项目引用但本身不引用任何项目。
这个例子中Project.Common对A.MT的引用,一方面因循环引用而导致项目无法生成,另一方面也破坏了程序的逻辑结构。
问题的解决:将Common中只由A.MT和A.UI用到的部分转移到A.MT层中。
参考资料:
http://social.microsoft.com/Forums/zh-CN/2212/thread/a6119a05-b62f-4fe9-bb00-e6e9ed6b5c9a