Я пишу инструмент проверки правильности установки для нашего продукта, и мне нужно получить некоторую информацию PE из нескольких установленных сборок. Независимо от того, на какой платформе установлен наш продукт, мы отправляем сборки AMD64, x86 и MSIL в определенные места, чтобы пользователь мог создавать проекты развертывания для этих платформ.
Проблема в том, что, используя следующий код:
Module manifestModule = Assembly.LoadFile(fileName).ManifestModule;
ImageFileMachine m;
PortableExecutableKinds pe;
manifestModule.GetPEKind(out pe, out m);
Assembly.LoadFile (...) сломается, если приложение работает под управлением x86 и пытается загрузить сборку AMD64 или наоборот.
Я нашел эти связанные, но не совсем: