C# - 获取源代码文件正在使用或引用的类型列表

问题描述 投票:1回答:2

我有一个很长的.cs文件(许多这样的文件),为了加快安全审计,我想看到这个文件所引用的类列表。

例如:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Net;
using OrganizationName;

namespace OurCodebase
{
    public class NeedsAudit
    {
        public void DoSomething()
        {
            System.IO.File.ReadAllText( "" );
            WebRequest wr = WebRequest.Create( "" );
            OurFramework.Clients.Search( "*jason*" );
        }
    }
}

这应该会产生一个列表:

System.IO.File
System.Net.WebRequest
OrganizationName.OurFramework.Clients

有没有办法在Visual Studio中执行此操作,或者可能是一个解析代码并提取此列表的程序?

c# visual-studio roslyn code-analysis code-security
2个回答
4
投票

你有很多选择我在几个项目中使用NDepend。 NDepend提供了比你要求的更多的东西,但它创建了一个依赖的可视图形(阅读更多here

NDepend是.NET托管代码的静态分析工具。该工具支持大量代码度量,允许使用有向图和依赖矩阵可视化依赖关系。该工具还执行代码库快照比较,以及架构和质量规则的验证。

Visual Studio 2017的CodeMap也可用于此类依赖性可视化任务。

CodeMap Page On MSDN

您可以通过创建代码映射来显示代码中的依赖项。代码映射可帮助您查看代码如何组合在一起,而无需读取文件和代码行。

Map dependencies with code maps


1
投票

除了CodeMap和NDepend,你可以尝试我的工具Designite,特别是如果你想以矩阵格式看到依赖项。 Designite提供的DSM(依赖关系结构矩阵)允许您以不同的粒度(类型,命名空间和项目)以交互方式查看依赖关系。

DSM by Designite

© www.soinside.com 2019 - 2024. All rights reserved.