我正在使用一个用未管理的C++编写的第三方DLL来控制我们拥有的一些硬件。
不幸的是,这个DLL偶尔会崩溃,我被指示自动地使其“重新加载”。我不太确定如何进行操作以获得最佳结果。
我的项目使用C++.Net 2.0(2005)。我将第三方内容包装在一个单独的DLL中。我一直在尝试使用FreeLibrary()和LoadLibrary()。然而,当我使用FreeLibrary()时,一些内部DLL依赖项仍然被分配,并且LoadLibrary()将导致由于内存损坏而崩溃。
另一种建议是使用.NET远程接口重构整个项目。这将使杀死另一个进程并重新启动它变得更容易,但需要大量工作。
有什么建议吗?提示?指针?