Soy nuevo en C++/CLI, así que tenga paciencia ...¿Cómo limpio cosas .NET cuando se descarga una DLL C++/CLI?
Estoy trabajando en una DLL mixta de C++/CLI, que debería actuar como un puente entre un proceso Win32 y un ensamblado .NET . En la DLL, necesito que algo de .NET esté presente durante la vida útil de la DLL. Inicializar no es un problema tan grande, pero no pude averiguar cuándo puedo limpiar de forma segura las cosas de .NET. Las instalaciones habituales de C++ (DLL_PROCESS_DETACH, variables globales y locales estáticos d'ors) parecen ser llamadas después de que el CLR se haya ido.
Entonces, ¿cuál es la manera de recibir notificaciones de que la DLL está a punto de separarse de la CLR, así que puedo liberar las referencias de .NET que tengo?
No estoy tratando de liberar un ensamblado. Estoy intentando liberar las referencias a los objetos .NET que he creado, y he estado reteniendo durante la vida útil de la DLL ... – eran
Están los objetos en. NET desechable En ese caso, puede probar dispose() en esos objetos una vez que termine el uso. – Kangkan
@Kangkan - sabe cuando se termina el uso es exactamente mi problema ... Es fácil saber cuándo el mundo nativa está a punto de terminar (proceso de separar, globales d'tores etc.) pero en ese momento, el mundo ya ha logrado terminado – eran