Assembly.Invoke () конфликтует с x86 и AnyCPU - PullRequest
1 голос
/ 10 февраля 2012

Я использую Assembly.Load(), а затем EntryPoint.Invoke(null, null) для запуска сборки .NET в памяти. Это работает, если только хост-процесс не x86, а выполненная сборка - AnyCPU. В этом случае выполненная сборка выполняется в контексте x86 и, следовательно, сбои.

Есть ли способ выполнить объект Assemly в контексте AnyCPU, даже если хост-процесс x86?

1 Ответ

1 голос
/ 11 февраля 2012

Выполнение сборки в контексте AnyCPU на самом деле не имеет смысла. Сборка, предназначенная для AnyCPU, будет JIT до 64-битной, если загружена в 64-битный процесс и 32-битной для 32-битного процесса Если эта сборка зависит от того, является ли хост-процесс 64-битным, тогда его целевой платформой должен быть x64, а не любой ЦП.

...