В значительной степени то, что говорится в вопросе.
У меня есть .NET EXE, который запускается, а затем загружает мою библиотеку (в C ++). Есть ли способ получить ICLRMetaHost или аналогичный интерфейс, который mscoree загружает при запуске .net exe?
Я хочу сделать это в первую очередь, чтобы получить доступ к настройкам gc и памяти из моей собственной библиотеки для целей отладки.
Бонусные баллы указывают на аналогичную реализацию с использованием моно-хостинга API.
Я не понимаю, почему нормальный способ получения ICLRMetaHost
не будет работать изнутри DLL, которая была загружена CLR …
CLRCreateInstance
,CLRCreateInstance
как показано ВотICLRMetaHost
,EnumerateLoadedRuntimes
и надеюсь, что там только один загружен …ICLRRuntimeHost
,ICLRRuntimeHost
получать ICLRControl
ICLRControl
получать ICLRGCManager
Других решений пока нет …