c# - 如何找到引用特定 dll 的所有程序集?

标签 c# dependencies assemblies ildasm

我有一个包含大量 dll 的目录。我需要找到所有引用特定 dll 的文件。

我正在考虑以下解决方案:

  1. 循环程序集并使用 ildasm 调用每个程序集
  2. list 转储到文本文件中
  3. 在文本文件中搜索所需的程序集名称。

但我觉得这个解决方案非常错误。有没有更好的方法来实现它?

最佳答案

您可以为此目的编写一个小工具,使用反射来查找引用的程序集:

string[] fileNames = ...; // get all the filenames
foreach (string fileName in fileNames) {
    var assembly = System.Reflection.Assembly.ReflectionOnlyLoadFrom(fileName);
    var referencedAssemblies = assembly.GetReferencedAssemblies();

    foreach (var assemblyName in referencedAssemblies) {
        // do your comparison
    }
}

关于c# - 如何找到引用特定 dll 的所有程序集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20771512/

相关文章:

javascript - jQuery - 如何分离依赖于同一对象的两个对象?

c# - 在 C# 中从程序集及其依赖项创建实例

css - 使用CSS在div上保持纵向纵横比

java - Maven - 如何管理具有共同依赖项的多个 jar

c# - 如何通过 Entity 框架自动为 Oracle 数据库生成标识?

c# - 在闲置的应用程序中,是什么导致我的 C#.NET 内存泄漏?

.net - 我应该什么时候将程序集部署到 GAC 中?

c# - 优化查找所有实现 IInterface<T> 的类以及使用特定类型显式实现它的类

c# - 有没有办法在 ASP.NET Core 3.0 API 中将属性名称更改为 snake_case?

c# - 当 Http 请求发生实际下载时