Я встраиваю моно в приложение C ++ и связываю его через библиотеку dll, которая затем загружается в приложение через LoadLibrary
.
Когда приложение запускается и происходит связывание во время выполнения dll, моно среда выполнения, похоже, не может инициализировать себя сообщением "Too many root sets". Я не уверен, когда и как инициализируется сама среда выполнения (я думал, что это происходит на mono_jit_init
, но ошибка выскакивает перед любым вызовом любой из функций mono. Это происходит именно в LoadLibrary, если я попытаюсь загрузить его вручную вместо опираясь на mono.lib
библиотеку импорта).
Я успешно встроил его в отдельное приложение, поэтому я предполагаю, что это что-то особенное в том, как моя dll загружается приложением, но я не знаю, что именно.
Есть какие-нибудь подсказки?