2009-11-03 82 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。這將允許您正常添加參考。