Tôi mới tham gia C++/CLI, vì vậy hãy chịu với tôi ...Làm thế nào để dọn dẹp công cụ .NET khi một DLL C++/CLI bị dỡ xuống?
Tôi đang làm việc trên một DLL hỗn hợp C++/CLI, hoạt động như một cầu nối giữa quá trình Win32 và hội đồng .NET. . Trong DLL, tôi cần một số công cụ .NET để có mặt trong suốt thời gian tồn tại của DLL. Khởi tạo không phải là một vấn đề lớn, nhưng tôi không thể tìm ra khi nào tôi có thể dọn dẹp một cách an toàn các thứ .NET. Các cơ sở C++ thông thường (DLL_PROCESS_DETACH, biến toàn cục và d'tors tĩnh cục bộ) tất cả dường như được gọi sau khi CLR đã biến mất.
Vì vậy, cách để nhận thông báo rằng DLL sắp tách ra khỏi CLR, vì vậy tôi có thể giải phóng tham chiếu .NET mà tôi giữ?
Tôi không cố gắng phát hành một hội đồng - tôi chỉ đang cố gắng giải phóng các tham chiếu đến các đối tượng .NET mà tôi đã tạo và đã giữ trong suốt thời gian tồn tại của DLL ... – eran
Các đối tượng có trong đó không. NET dùng một lần? Trong trường hợp đó, bạn có thể thử vứt bỏ() trên các đối tượng đó khi bạn hoàn thành việc sử dụng. – Kangkan
@Kangkan - cho biết khi nào việc sử dụng kết thúc chính xác là vấn đề của tôi ... Thật dễ dàng để biết khi nào thế giới bản địa sắp kết thúc (quá trình tách rời, hình cầu d'tors vv) nhưng tại thời điểm đó, thế giới quản lý đã đã kết thúc. – eran