首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Visual Studio项目的依赖关系图

Visual Studio项目的依赖关系图
EN

Stack Overflow用户
提问于 2009-02-28 15:08:20
回答 16查看 104.4K关注 0票数 145

我目前正在将一个大型解决方案(大约70个项目)从VS2005+ .NET 2.0迁移到VS2008+ .NET 3.5。目前我使用的是VS2008+ .NET 2.0。

问题是,我需要一个接一个地将项目移动到新的.NET框架,以确保没有.NET 2.0项目引用.NET 3.5项目。有没有工具可以给我一个很好的项目依赖关系图?

EN

回答 16

Stack Overflow用户

回答已采纳

发布于 2009-02-28 15:12:56

你试过NDepend吗?它将向您显示依赖关系,您还可以分析类和方法的可用性。

他们的网站:

http://ndepend.com

为了在2020年4月完成@Eriawan的回答,已经发布了完全重建了Dependency Graph的NDepend 2020.1版。它现在扩展到由数百个项目组成的大型解决方案,并提供许多导航设施。

这是它在NopCommerce OSS project上的样子。

下面是它在整个.NET Core3类库(176个程序集)上的样子。

免责声明:我在NDepend工作

票数 51
EN

Stack Overflow用户

发布于 2012-05-07 00:52:39

我需要类似的东西,但不想花钱(或安装)一个工具来做这件事。我使用created a quick PowerShell script that goes through the project references并以yuml.me友好的格式输出它们:

代码语言:javascript
运行
复制
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"
票数 187
EN

Stack Overflow用户

发布于 2013-03-13 20:34:29

更新:从版本8开始的ReSharper具有内置的'View Project Dependencies'功能。

8之前的ReSharper版本使用Internal feature在yFiles查看器中显示依赖关系图。请参阅文章底部的快速手册。

Howto

here.

  • Run VS使用Dependencies.

  • Specify命令行参数
  1. 安装yEd工具。
  2. 转到ReSharper/Internal/Show Dependencies.
  3. Specify projects,你想要包含到'big picture'.
  4. Uncheck‘排除终端节点...’除非您需要反馈。
  5. 按‘显示’。
  6. 在yEd反馈中使用分层布局=)
票数 85
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/598129

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档