7
我需要以編程方式確定組件是x86,x64還是AnyCPU?有幾乎相同的question,但該解決方案,它提供如何以編程方式檢查託管程序集是x86,x64還是AnyCPU?
Assembly assembly = Assembly.LoadFrom(fileName);
PortableExecutableKinds peKind;
ImageFileMachine imageFileMachine;
assembly.ManifestModule.GetPEKind(out peKind, out imageFileMachine);
試圖從一個32位處理(反之亦然)加載一個64位的組件時失敗。
是否有一種以編程方式查找程序集編譯類型的簡單方法?
編輯:基於@BenVoigt建議,我創建了一個small command line utility,檢查DLL是否管理和是否它的x86/x64/AnyCPU。我希望有人認爲它有用。
你有沒有試過['ReflectionOnlyLoadFrom'](http://msdn.microsoft.com/en-us/library/system.reflection.assembly.reflectiononlyloadfrom.aspx)? – 2012-02-27 18:28:36
@BenVoigt這很可能是一個答案,而不是一個評論:) – dasblinkenlight 2012-02-27 18:30:40
@BenVoigt我現在做了,你是絕對正確的。讓它成爲答案,我會接受它。 – AngryHacker 2012-02-27 18:30:51