Muszę określić programowo, czy zespół jest x86, x64 lub AnyCPU? Istnieje prawie identyczne question, ale rozwiązanie to zapewniaJak sprawdzić programowo, czy zarządzany zespół to x86, x64 lub AnyCPU?
Assembly assembly = Assembly.LoadFrom(fileName);
PortableExecutableKinds peKind;
ImageFileMachine imageFileMachine;
assembly.ManifestModule.GetPEKind(out peKind, out imageFileMachine);
zawiedzie podczas ładowania zespołu 64-bitowego z procesu 32-bitowe (i vice versa).
Czy istnieje niezawodny sposób programowego znajdowania typu kompilacji złożenia?
EDYCJA: Na podstawie sugestii @BenVoigt, stworzyłem small command line utility, który sprawdza, czy biblioteka DLL jest zarządzana, czy nie i czy jest to x86/x64/AnyCPU. Mam nadzieję, że ktoś uzna to za przydatne.
Czy próbowałeś ['ReflectionOnlyLoadFrom'] (http://msdn.microsoft.com/en-us/library/system.reflection.assembly.reflectiononlyloadfrom.aspx)? –
@BenVoigt To najprawdopodobniej odpowiedź, a nie komentarz :) – dasblinkenlight
@BenVoigt Zrobiłem to teraz i masz absolutną rację. Niech to będzie odpowiedź, a ja ją zaakceptuję. – AngryHacker