Компилировать сборку .NET в машинный код x86 - PullRequest
12 голосов
/ 01 июня 2011

Есть ли способ скомпилировать сборку .NET в нативный код (т.е. для x86), то есть без MSIL.

Насколько я понимаю, если вы просто укажете архитектуру x86 в качестве архитектуры, это только изменит заголовок PE, чтобы указать это на JIT, но все же сборка будет содержать MSIL и будет при необходимости JITTed.

NGen создает файлы сборки для указанной архитектуры, но это не компилятор, он предназначен для повышения производительности, но вам все еще нужна оригинальная DLL, наличие собственного образа служит только для предотвращения JIT-компиляции сборки, но вы можете просто не можете получить это родное изображение и использовать его, не так ли?

Итак, есть ли способ на самом деле компилировать из .NET в машинный код?

Ответы [ 2 ]

10 голосов
/ 01 июня 2011

Spoon Studio (ранее назывался Xenocode), кажется, может сделать это: http://spoon.net/Studio/Features.aspx

RemoteSoft также имеет продукт, но веб-сайт выглядит довольно старым: http://www.remotesoft.com/linker/

3 голосов
/ 21 апреля 2014

Вы можете сделать это, используя новую технологию прекомпиляции, названную .NET Native.Проверьте это здесь: http://msdn.microsoft.com/en-US/vstudio/dotnetnative

В настоящее время это доступно только для приложений Магазина Windows.Он выполняет привязку одного компонента.Таким образом, библиотеки .NET Framework статически связаны с вашим приложением.Все скомпилировано в собственные и IL-сборки больше не развертываются.

...