拥有.NET 4 WinForms应用程序。当我尝试执行以下操作时: GetAssemblyName(@ “C:\的Windows \组件\ NativeImages_v4.0.30319_64 \ mscorlib程序\ e0e5fbe72e8813a135fc878ff32b4bee \ mscorlib.ni.dll”);
我得到了着名的“格式错误”异常。我在这里缺少什么?
谢谢!
答案 0 :(得分:3)
正如文件夹名称所示,mscorlib.ni.dll是本机映像。它的.NET代码被编译成本机代码,因此它不再是.NET程序集,因此您无法对其进行反射。你为什么要这样做?该路径由.NET运行时内部使用。
编辑:如果遇到这样的模块,则必须以不同方式处理异常并检索有关模块的信息。要么只使用文件名,要么使用其他API(如System.Diagnostics.FileVersionInfo.GetVersionInfo)来检索信息。