c# - 获取依赖程序集?

标签 c# .net reflection .net-assembly

有没有办法获取依赖于给定程序集的所有程序集?

伪:

Assembly a = GetAssembly();
var dependants = a.GetDependants();

最佳答案

如果您希望从当前应用程序域中找到依赖程序集,您可以使用类似下面定义的 GetDependentAssemblies 函数:

private IEnumerable<Assembly> GetDependentAssemblies(Assembly analyzedAssembly)
{
    return AppDomain.CurrentDomain.GetAssemblies()
        .Where(a => GetNamesOfAssembliesReferencedBy(a)
                            .Contains(analyzedAssembly.FullName));
}

public IEnumerable<string> GetNamesOfAssembliesReferencedBy(Assembly assembly)
{
    return assembly.GetReferencedAssemblies()
        .Select(assemblyName => assemblyName.FullName);
}

analyzedAssembly 参数表示您要为其查找所有依赖项的程序集。

关于c# - 获取依赖程序集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8849289/

相关文章:

c# - ASP.NET Core 托管和服务器端 Blazor 之间到底有什么区别?

c# - 在没有存储过程的情况下从 C# 将二进制数据插入 SQL

javascript - 正则表达式允许无限精度

.net - 序列化性能差的可能解决方案

c# - 使用反射检查属性是否仅为引用类型的 IEnumerable 而不是字符串或值类型

c# - 需要一种高效的方法来从列表中返回所有重复项

c# - 二进制搜索有序列表<int>

java - 更改所有用途的默认注释值

c# - 观察具有传递项目依赖项的构建?

c# - 不需要分配结构类型的 out 参数