问题
I am using the CISCO COM object accessed via Interop.VpnApiLib in a C#, .NET2.0 project on Windows 8.1, 64 bit.
I create an instance of the class VpnApiClass from this library with the following line:
vpnApiLib = new VpnApiClass();
Sometimes this line of code works, but too often, I get the following Exception:
Retrieving the COM class factory for component with CLSID {C15C0F4F-DDFB-4591-AD53-C9A71C9C15C0} failed due to the following error: 800701e7.
Only a Windows reboot helps in such a situation. I googled the error code, and found that it means
"Error: attempt to access invalid address"
Does anyone know what to do to get round this error?
回答1:
Inspired by another bug regarding a similar issue here, we found a workaround. The DLL seems to have a fixed load address. When I load the DLL using LoadLibrary()
right at program start, this address is free and ‘new VpnApiClass()
’ works.
来源:https://stackoverflow.com/questions/23338598/new-vpnapiclass-get-com-exception-800701e7-till-reboot