Dot-Net
Visual Studio 項目的依賴關係圖
我目前正在將一個大型解決方案(約 70 個項目)從 VS 2005 + .NET 2.0 遷移到 VS 2008 + .NET 3.5。目前我有 VS 2008 + .NET 2.0。
問題是我需要將項目一一移動到新的 .NET 框架,確保沒有 .NET 2.0 項目引用 .NET 3.5 項目。有沒有什麼工具可以給我一個很好的項目依賴關係圖?
你試過 NDepend 嗎?它將向您顯示依賴關係,您還可以分析類和方法的可用性。
他們的網站:
<http://ndepend.com>
為了在 2020 年 4 月完成 @Eriawan 的回答,NDepend 版本 2020.1 已經發布,依賴關係圖完全重建。它現在可以擴展到由數百個項目組成的大型解決方案,並提供許多導航設施。
這是NopCommerce OSS 項目的樣子。
這是整個 .NET Core 3 類庫(176 個程序集)上的樣子。
免責聲明:我在 NDepend 工作
我需要類似的東西,但不想支付(或安裝)工具來完成它。我創建了一個快速的 PowerShell 腳本,它遍歷項目引用並以yuml.me友好格式將它們吐出:
Function Get-ProjectReferences ($rootFolder) { $projectFiles = Get-ChildItem $rootFolder -Filter *.csproj -Recurse $ns = @{ defaultNamespace = "http://schemas.microsoft.com/developer/msbuild/2003" } $projectFiles | ForEach-Object { $projectFile = $_ | Select-Object -ExpandProperty FullName $projectName = $_ | Select-Object -ExpandProperty BaseName $projectXml = [xml](Get-Content $projectFile) $projectReferences = $projectXml | Select-Xml '//defaultNamespace:ProjectReference/defaultNamespace:Name' -Namespace $ns | Select-Object -ExpandProperty Node | Select-Object -ExpandProperty "#text" $projectReferences | ForEach-Object { "[" + $projectName + "] -> [" + $_ + "]" } } } Get-ProjectReferences "C:\Users\DanTup\Documents\MyProject" | Out-File "C:\Users\DanTup\Documents\MyProject\References.txt"

