Jestem nowy w C++/CLI, więc proszę o mnie ...Jak wyczyścić pliki .NET, gdy biblioteka DLL C++/CLI zostanie zwolniona?
Pracuję nad mieszaną biblioteką DLL C++/CLI, która powinna działać jako pomost między procesem Win32 a zestawem .NET . W DLL, potrzebuję pewnych rzeczy .NET, aby były obecne w czasie życia biblioteki DLL. Inicjowanie nie jest tak dużym problemem, ale nie mogłem się domyślić, kiedy mogę bezpiecznie wyczyścić pliki .NET. Typowe funkcje C++ (DLL_PROCESS_DETACH, zmienne globalne i statyczne locals d'tors) wydają się być wywoływane po zniknięciu CLR.
Więc, co jest sposobem, aby otrzymywać powiadomienia DLL ma się odczepić od CLR, więc mogę zwolnić odniesienia .NET trzymam?
Nie próbuję zwolnić zespół - ja tylko próbuje uwolnić referencje do obiektów .NET mojego autorstwa i zostały gospodarstwa podczas żywotność DLL ... – eran
Czy obiekty. NET jednorazowego użytku? W takim przypadku możesz spróbować dispose() na tych obiektach po zakończeniu użytkowania. – Kangkan
@Kangkan - mówienie, kiedy użycie jest zakończone jest dokładnie moim problemem ... Łatwo jest wiedzieć, kiedy rodzimy świat ma się wkrótce skończyć (proces odłączania, globalizacje itp.), Ale w tym momencie zarządzany świat już zakończyło się. – eran