为什么GetAssemblyName mscorlib会抛出异常?

时间:2012-02-22 16:44:42

标签: .net .net-assembly mscorlib

拥有.NET 4 WinForms应用程序。当我尝试执行以下操作时:    GetAssemblyName(@ “C:\的Windows \组件\ NativeImages_v4.0.30319_64 \ mscorlib程序\ e0e5fbe72e8813a135fc878ff32b4bee \ mscorlib.ni.dll”);

我得到了着名的“格式错误”异常。我在这里缺少什么?

谢谢!

1 个答案:

答案 0 :(得分:3)

正如文件夹名称所示,mscorlib.ni.dll是本机映像。它的.NET代码被编译成本机代码,因此它不再是.NET程序集,因此您无法对其进行反射。你为什么要这样做?该路径由.NET运行时内部使用。

编辑:如果遇到这样的模块,则必须以不同方式处理异常并检索有关模块的信息。要么只使用文件名,要么使用其他API(如System.Diagnostics.FileVersionInfo.GetVersionInfo)来检索信息。