4

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

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
4

1 回答 1

0

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

因此,请确保:

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

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

于 2013-11-08T17:02:27.633 回答