You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

查询.NET解决方案中特定项目的跨项目依赖项

查找.NET解决方案内特定项目的跨项目依赖项

Visual Studio 自带工具(最便捷)

  • 依赖关系可视化:右键解决方案 → 「管理解决方案的依赖项」,在窗口中选中目标项目,切换到「被依赖项」视图,可直接查看哪些项目引用了它,展开后能看到具体的引用细节。也可以通过「架构」菜单 → 「生成依赖关系图」,生成整个解决方案的依赖图谱,直观筛选目标项目的上下游依赖。
  • 全局查找引用:右键目标项目 → 「查找所有引用」,VS会在「查找结果」窗口列出整个解决方案中所有引用该项目的位置,包括项目级引用和代码里的类型、资源引用。如果要定位单个类/实体的引用,直接右键该文件 → 「查找所有引用」即可。

Roslyn 源代码分析(精准自定义)

如果需要批量或更精准的分析,可以用Roslyn API写个简单的控制台程序,直接分析源代码中的引用:

using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.CSharp;
using Microsoft.CodeAnalysis.MSBuild;

var workspace = MSBuildWorkspace.Create();
var solution = await workspace.OpenSolutionAsync(@"你的解决方案路径.sln");
var targetProject = solution.Projects.First(p => p.Name == "目标项目名称");
var targetCompilation = await targetProject.GetCompilationAsync();

// 获取目标项目的所有公开类型
var targetTypeNames = targetCompilation.GlobalNamespace
    .GetTypeMembers()
    .Select(t => t.ToDisplayString())
    .ToList();

// 遍历其他项目查找引用
foreach (var project in solution.Projects.Where(p => p.Name != targetProject.Name))
{
    var compilation = await project.GetCompilationAsync();
    foreach (var syntaxTree in compilation.SyntaxTrees)
    {
        var root = await syntaxTree.GetRootAsync();
        // 查找所有引用目标类型的标识符
        var typeReferences = root.DescendantNodes()
            .OfType<IdentifierNameSyntax>()
            .Where(id => targetTypeNames.Contains(id.Identifier.Text));
        
        foreach (var reference in typeReferences)
        {
            Console.WriteLine($"项目 {project.Name} 中文件 {syntaxTree.FilePath} 引用了类型 {reference.Identifier.Text}");
        }
    }
}

这种方式直接分析源代码,比反编译工具的结果更准确,还能自定义筛选规则(比如只找特定命名空间的类型)。

.NET CLI 命令行工具

  • 查看项目引用关系:运行 dotnet list 你的解决方案路径.sln reference,可快速列出所有项目间的引用,明确哪些项目依赖目标项目。
  • 详细依赖输出:执行 dotnet msbuild 你的解决方案路径.sln /t:ProjectReferences,会输出每个项目的完整引用链,包括间接依赖。

替代 Reflector 的反编译工具

如果偏好反编译工具,试试ILSpy——它支持解决方案级的依赖分析,打开解决方案后,可查看每个项目对目标项目类型、资源的引用,还能直接跳转到引用位置,分析精度比Reflector更可靠。

内容的提问来源于stack exchange,提问作者Behnam Faghih

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 16:27:25