首页 > 解决方案 > SAS EG System.AccessViolationException SAS.CIODSFileEvents_EventProvider.remove_FileClose(SAS.CIODSFileEvents_FileCloseEventHandler)

问题描述

我们有两台装有 SAS EG 7.10 的 Windows 7 客户端 PC。以及在运行 SAS 9.4 的单独 SAS 服务器上运行 SAS 程序的 .Net 程序。当 SAS 程序完成时,我们最近开始在其中一台客户端 PC 上收到此错误...

System.AccessViolationException 在 System.Runtime.InteropServices.ComTypes.IConnectionPoint.Unadvise(Int32) 在 SAS.CIODSFileEvents_EventProvider.remove_FileClose(SAS.CIODSFileEvents_FileCloseEventHandler) 在 SAS.CIODSFileEvents_Event.remove_FileClose(SAS.CIODSFileEvents_FileCloseEventHandler) 在 SAS.EC.Directory.Model.SASWorkspace .Dispose(Boolean) at SAS.EC.Directory.Model.Server.Dispose(Boolean) at SAS.EC.Directory.Model.Root.Dispose(Boolean) at SAS.EC.Directory.Model.Broker.Dispose(Boolean)在 SAS.EC.Directory.DirectoryService.Dispose(Boolean) 在 SAS.EC.Session.LocalSession.Cleanup() 在 SAS.EG.Scripting.Application.Dispose(Boolean) 在 SAS.EG.Scripting.Application.Finalize()

相同的 SAS 程序在另一台客户端 PC 上运行良好。唯一可能改变的是失败的 Windows 7 PC 可能已经修补,我注意到 .Net 版本现在是 4.6,而我认为之前是 4.5.1,因为它在另一台客户端 PC 上。

我发现一篇文章说 v7.13 之前的 SAS EG 需要 .Net 4.5.1,而 SAS EG 7.13 及更高版本需要 .Net 4.6。

在我们正在设置的具有 .Net 4.8 的新 Windows 10 客户端 PC 上,我们也遇到了同样的错误,并且我们已经安装了我们认为与 Windows 10 更兼容的 SAS EG 7.15。

谁能解释为什么我们会收到此错误,以及我们是否可以在 SAS 程序中做任何事情来修复它,或者这是否是由于 SAS 版本之间的不兼容,如果是这样,我们可以在 Windows 10 上使用哪些 SAS EG 版本来连接到运行 SAS 9.4 的 SAS 服务器?

谢谢

标签: sas

解决方案


推荐阅读