Скажу сразу: мне не нужно отказываться от платформы .NET =)
И вопрос не о том, как получить независимый от фреймворка код.
Итак, есть весомое бизнес-приложение на C# с использованием Windows Forms.
В приложении десятки различных диалоговых окон под разные нужды, уведомления о событиях трее и контекстные меню.
По хорошей традиции всё это транслируется в машинный код во время исполнения и занимает время.
Первое открытие диалогового окна, появление контекстного меню, навигация по верхнему меню - всё это занимает время и вполне ощутимо подвисает.
Разумеется, после активной работы с приложением подтормаживания исчезают.
Но это повторяется раз за разом.
Вопрос:
Я читал, что с помощью утилиты ngen можно заранее на целевой машине транслировать байт-код в машинный. Поискал на MSDN, нашел парочку примеров, в том числе смотрел через ngen /?
Попробовал применить к сборке.
Утилита отрабатывает, но результата нет: работает как работало, с медленным запуском и подтормаживанием при первой работе.
А теперь вопрос: как ей правильно пользоваться, чтобы в итоге получить корректную сборку на целевой машине?