Sono nuovo di C++/CLI, quindi per favore portami con me ...Come si disinstalla .NET quando una DLL C++/CLI scarica?
Sto lavorando su una DLL mista C++/CLI, che dovrebbe fungere da ponte tra un processo Win32 e un assembly .NET. . Nella DLL, ho bisogno di alcune cose di .NET per essere presente durante la vita della DLL. L'inizializzazione non è un grosso problema, ma non riesco a capire quando posso pulire in modo sicuro il materiale .NET. Le solite strutture C++ (DLL_PROCESS_DETACH, variabili globali e locatori statici d'ufficio) sembrano tutte essere chiamate dopo che CLR è andato via.
Quindi, quale è il modo per ottenere la notifica che la DLL sta per staccare dal CLR, quindi posso rilasciare i riferimenti .NET che tengo?
Non sto provando a rilasciare un assembly - Sto semplicemente provando a rilasciare i riferimenti agli oggetti .NET che ho creato, e ho mantenuto durante la vita della DLL ... – eran
Gli oggetti sono dentro. NET usa e getta? In tal caso, provare a disporre() su tali oggetti una volta terminato l'utilizzo. – Kangkan
@Kangkan - dire quando l'uso è finito è esattamente il mio problema ... È facile sapere quando il mondo nativo sta per finire (processo di distacco, globali, ecc.) Ma a quel punto, il mondo gestito ha già conclusa. – eran