C#运行时异常

asw*_*win 3 c# cyber-ark

我正在开发C#程序,以便从存储加密数据的名为Cyber​​-Ark的组件中获取用户.当我的代码运行一半时,我得到了这个异常,即使我抓住了所有的例外,我仍然得到它.有什么解决方法吗?

Unhandled Exception: System.Runtime.InteropServices.InvalidComObjectException: COM object that has been separated from its underlying RCW cannot be used.
   at System.StubHelpers.StubHelpers.GetCOMIPFromRCW(Object objSrc, IntPtr pCPCMD, Boolean& pfNeedsRelease)
   at PAObjectsLib.PrivateArkClass.Term()
   at CyberArk.API.Objects.PrivateArk.Term()
   at CyberArk.API.Objects.PrivateArk.DoDispose(Boolean disposing)
   at CyberArk.API.Objects.CyberArkBase.Dispose()
   at Program.Main(String[] args)
Run Code Online (Sandbox Code Playgroud)

Mar*_*age 5

如果已释放基础COM对象(通过调用IUnknown.Release),则可以获得此异常.我已经看到在关机期间发生这种情况,运行时已经收集了RCW(运行时可调用包装器),然后一些清理代码尝试访问现在不可访问的COM对象,以便在释放它之前调用COM对象上的"清理"函数.

如果这是正确的,您可以Dispose在关机时尽早尝试该对象.