在VS2015中查找C#项目中引用程序集的用法



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

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

我现在的问题是如何在项目中找到特定程序集引用的所有用法?

最简单的方法是从引用中删除程序集并尝试构建项目。所有给出的错误都会显示它试图在哪里使用。

如果在源代码目录中运行此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中,它将为您构建解决方案依赖关系图。

相关内容

最新更新