2009-11-03 78 views

回答

7

NDepend是一个很好的工具,将做到这一点,多了很多。也许它是为了你想要的东西,但有一个试用版,所以看看...

+0

是的,这有很多功能,但我喜欢它..谢谢 – 2009-11-05 07:31:36

0

您可以通过System.Reflection追逐依赖关系树。在构建树时,添加节点时,您会检查节点的父节点是否与您要添加的节点相同。如果为true,则向用户抛出异常。

抛出这样一个技术的例外是确定的,如果你的用户会是谁知道集的引用和异常是如何工作的人 - 人喜欢开发商:)

0

如果您使用项目解决方案中的项目之间的引用正确的构建顺序将由Visual Studio自动确定(或的MSBuild)。当然,如果您使用程序集引用,则会中断。另外,Visual Studio将阻止您添加通知项目引用。

+1

>>此外,Visual Studio将阻止您添加循环项目引用。 这是一个不错的功能。如果你的循环引用超过了2点的引用(例如A→B→C→A),VS会给你更多关于哪些引用会引起潜在的循环引用的信息。 – 2014-09-17 17:33:49

1

我知道这是一个迟到的答案,但我发现使用GraemeF和tsilb的答案都显示两个程序集之间没有依赖关系。看起来,如果你扭转依赖的顺序一样(大会一引用,但是你把它切换到引用一个),它的叶子在构建顺序的依赖。要解决此问题,请打开解决方案的“属性”对话框,转到“通用属性”,然后选择“项目依赖项”。找到大会A并删除依赖大会B。这将允许您正常添加参考。