C ++ DLL wird mit AppDomain nicht entladen

Ich habe ein C # -Plugin, das eine separate C ++ - DLL verwendet. Der einzige Verweis auf diese DLL befindet sich im Plugin selbst. Die übergeordnete Anwendung lädt alle Plugins in ihrer eigenen AppDomain und entlädt diese AppDomain, wenn das Plugin entladen wird.

Ich habe es überprüft und sehe definitiv, dass der Speicher der Anwendung nach dem Entladen des Plugins abfällt. Ich kann auch alle verwalteten Assemblys löschen, die geladen wurden. Das Problem ist, dass ich beim Versuch, die native DLL zu löschen, immer wieder Zugriff verweigert bekomme, bis ich die gesamte Anwendung schließe.

Ich habe dies für eine Weile gesucht, aber ich kann immer noch nicht herausfinden, warum nur diese DLL im Speicher bleibt.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage