Я пытаюсь выполнить файл из заданного массива байтов, который отлично работает:
byte[] bytes = File.ReadAllBytes(@"C:\Location\program.exe");
MessageBox.Show(bytes.Length) // The same size for both the VS compiled and CodeDom compiled application
Assembly assembly = Assembly.Load(bytes); //Throws exception when compiled with CodeDOM
Этот код компилируется и отлично работает из приложения, которое я создал с помощью Visual Studio.
Однако когда я добавляю этот фрагмент кода в приложение, созданное с помощью CodeDOM, возникает исключение BadImageException.
Приложение, сгенерированное CodeDOM, прекрасно считывает байты, потому что обе версии выводят одинаковую длину byte[].
Я попытался изменить целевую структуру с .NET 2.0 на .NET 4.5, я попытался изменить целевую архитектуру, но не смог заставить ее работать.
Что может вызвать это исключение?