У меня есть программа Input Method (IME), созданная с C # .NET 2.0 DLL через C ++ / CLI. Поскольку IME всегда подключается к другому приложению, DLL-библиотека C # .NET, похоже, не в состоянии избежать изменения адреса изображения.
Хотя я применил ngen для создания собственного образа этой DLL-библиотеки C # .NET 2.0 и установил его в глобальный кэш сборок, он значительно не улучшился, примерно за 12 секунд. до 9 сек. на медленном ПК уровня PIII.
Поэтому я использую небольшое приложение, которое загружает все компоненты, на которые ссылается C # .NET DLL во время загрузки, для «разогрева» собственного образа этой DLL. Он отлично работает, чтобы ускорить время загрузки до 0,5 сек.
Однако это работало только некоторое время. Около 30 мин. позже, кажется, снова «остынет».
Есть ли способ контролировать поведение GAC или собственного изображения, чтобы оно всегда было "горячим"? Это проблема с перебазировкой адреса изображения?