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