Компилировать сборку.NET в машинный код x86
Есть ли способ скомпилировать сборку.NET в нативный код (т.е. для x86), то есть без MSIL.
Насколько я понимаю, если вы просто укажете x86 как архитектуру, это только изменит заголовок PE, чтобы указать это на JIT, но все же сборка будет содержать MSIL и будет при необходимости JITTed.
NGen создает файлы сборок для указанной архитектуры, но это не компилятор, он предназначен для повышения производительности, но вам все еще нужна исходная DLL, наличие собственного образа только помогает избежать JIT-компиляции сборки, но вы просто не можете получить это родное изображение и использовать его, не так ли?
Итак, есть ли способ на самом деле компилировать из.NET в машинный код?
2 ответа
Вы можете сделать это, используя новую технологию прекомпиляции, названную.NET Native. Проверьте это здесь: http://msdn.microsoft.com/en-US/vstudio/dotnetnative
В настоящее время он доступен только для приложений Магазина Windows. Он выполняет привязку одного компонента. Таким образом, библиотеки.NET Framework статически связаны с вашим приложением. Все скомпилировано в нативную, и сборки IL больше не развертываются.
Spoon Studio (раньше назывался Xenocode), похоже, может это сделать: http://spoon.net/Studio/Features.aspx
У RemoteSoft также есть продукт, но веб-сайт выглядит довольно старым: http://www.remotesoft.com/linker/