在VS2015中的C#项目中查找引用汇编的用法

时间:2016-05-23 09:28:34

标签: c# visual-studio-2015

我目前正在挖掘一个相当大的项目,并尝试将部分分离到自己的项目中。

一个程序集让我头疼,因为在单独的项目中引用它会引发有关循环依赖的错误。

我现在的问题是如何找到项目中特定装配参考的所有用法?

2 个答案:

答案 0 :(得分:4)

最简单的方法是从引用中删除程序集并尝试构建项目。给出的所有错误都会告诉您尝试使用它的位置。

答案 1 :(得分:1)

如果在源代码目录中运行此PowerShell代码段,它将生成所有项目依赖项的文本描述。然后在其中搜索项目名称以查找传入和传出依赖项。

$projectFiles = Get-ChildItem .\*\*.csproj
$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 + "] -> [" + $_ + "]"
    }
}

添加奖金;您可以将输出复制到yuml.me,它将为您构建解决方案依赖关系图。