【问题标题】:Why does querying an assembly's types via reflection cause the program to unexpectedly hang while debugging?为什么通过反射查询程序集的类型会导致程序在调试时意外挂起?
【发布时间】:2013-11-08 16:53:03
【问题描述】:

使用此代码停止响应我的程序。

Assembly assembly = Assembly.LoadFrom(@"C:\test\test.exe");
Type[] typesInAssembly = assembly.GetTypes();

在调试模式下,此代码在第二行执行时停止响应。

我将test.exe 更改为空的WindowsformApplication.exe,它可以工作。 我不知道为什么它不适用于test.exe。 我在调试 Locals 部分放置了断点并检查了 Locals,我看到了一些错误图标,我将它们粘贴在下面。我希望有人能帮助我解决这个问题。

    DefinedTypes    Function evaluation timed out.  System.Collections.Generic.IEnumerable<System.Reflection.TypeInfo>
    EntryPoint  Function evaluation disabled because a previous function evaluation timed out. You must continue execution to reenable function evaluation. System.Reflection.MethodInfo
    EscapedCodeBase Function evaluation disabled because a previous function evaluation timed out. You must continue execution to reenable function evaluation. string
    Evidence    Function evaluation disabled because a previous function evaluation timed out. You must continue execution to reenable function evaluation. System.Security.Policy.Evidence
    ExportedTypes   Function evaluation disabled because a previous function evaluation timed out. You must continue execution to reenable function evaluation. System.Collections.Generic.IEnumerable<System.Type>
    FullName    Function evaluation disabled because a previous function evaluation timed out. You must continue execution to reenable function evaluation. string
    GlobalAssemblyCache Function evaluation disabled because a previous function evaluation timed out. You must continue execution to reenable function evaluation. bool
    HostContext Function evaluation disabled because a previous function evaluation timed out. You must continue execution to reenable function evaluation. long
    ImageRuntimeVersion Function evaluation disabled because a previous function evaluation timed out. You must continue execution to reenable function evaluation. string
    IsDynamic   Function evaluation disabled because a previous function evaluation timed out. You must continue execution to reenable function evaluation. bool
    IsFullyTrusted  Function evaluation disabled because a previous function evaluation timed out. You must continue execution to reenable function evaluation. bool
    Location    Function evaluation disabled because a previous function evaluation timed out. You must continue execution to reenable function evaluation. string
    ManifestModule  Function evaluation disabled because a previous function evaluation timed out. You must continue execution to reenable function evaluation. System.Reflection.Module
    Modules Function evaluation disabled because a previous function evaluation timed out. You must continue execution to reenable function evaluation. System.Collections.Generic.IEnumerable<System.Reflection.Module>
    PermissionSet   Function evaluation disabled because a previous function evaluation timed out. You must continue execution to reenable function evaluation. System.Security.PermissionSet
    ReflectionOnly  Function evaluation disabled because a previous function evaluation timed out. You must continue execution to reenable function evaluation. bool
    SecurityRuleSet Function evaluation disabled because a previous function evaluation timed out. You must continue execution to reenable function evaluation. System.Security.SecurityRuleSet

【问题讨论】:

    标签: c# .net reflection .net-assembly


    【解决方案1】:

    这也曾经困扰过我一次。我遇到的问题(可能与您的问题相同)是我正在检查的可执行文件在另一个环境中的调试器下运行。这导致文件被锁定。我可以将文件加载到仅反射上下文中,但是当我尝试查询类型时,它会挂起。

    所以,请确保:

    • 您没有打开正在加载的可执行文件的进程
    • 您没有在其他地方加载可执行文件,可能被调试器暂停
    • 您使用反射的程序有足够的权限访问该文件

    验证这些内容后,请尝试重新启动计算机并重试。如果有效,那就是资源获取问题。如果没有,请上传您的可执行文件,如果可以,我可以尝试重现该问题。

    【讨论】:

    • 在调试选项中,一般部分取消选中启用属性评估和其他隐式函数调用解决了此消息,但在编译代码后,我将断点放入汇编并检查本地和隐式函数评估被用户关闭。我可以在那里评估。例如入口点。但我无法评估该部分中的 DefinedTypes。当我尝试评估时,它会显示相同的信息
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 2015-03-02
    • 2013-12-06
    • 2021-10-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多