gpt4 book ai didi

c# - 查找所有程序集依赖项,Reflector 样式

转载 作者:太空狗 更新时间:2023-10-30 00:01:12 25 4
gpt4 key购买 nike

我正在使用 Reflection.Emit 动态生成一个程序集,然后保存它。它包含一个 Type 和一个静态 Main() 方法。

.NET 足以自动引用所需的程序集。但是,在 Main() 中,有一个从另一个程序集调用的方法,它没有以标准方式被引用。

程序集执行的时候,runtime找这个程序集找不到,这是个问题。

Reflector 可以检测到这一点,并在“依赖”列表下显示这个额外的程序集。如何使用反射 API 检索这些隐式依赖项?

谢谢

最佳答案

谢谢大家的回复,我已经设法解决了这个问题。

这是发生了什么:

AssemblyBuilder builder = ...//生成程序集

builder.GetReferencedAssemblies(); => 它不会返回对方法主体中使用的程序集的引用,即使我已经调用了 Save() - 它似乎只返回已经加载到内存中的程序集。

Assembly.ReflectionOnlyLoadFrom(filename).GetReferencedAssemblies() => 工作正常

关于c# - 查找所有程序集依赖项,Reflector 样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/488166/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com