[英]Recover From Access Violation Exception
我正在使用EZTwain(非托管dll)来处理一些PDF。 我知道它只能读取它创建的PDF。 不幸的是,在现实世界中,它遇到了由其他库创建的PDF。 这将导致它失败并抛出AccessViolationException。
由于我的C#应用程序仍在继续发展,因此这本身并不是一个大问题。 不幸的是,当下一个涉及此文件并尝试对其进行重新处理时,它仍处于锁定状态。 大概EZTwain仍在加载...我不知道处于什么状态-但已被留下文件锁定。
无论如何,我是否可以强制DLL卸载并因此释放文件上的锁(P / Invoke调用或其他)?
如果我可以实现此目标,则可以第二次跳过EZTwain的使用。
干杯
[更新]
我尝试调用LoadLibrary,捕获访问冲突异常,然后捕获FreeLibrary,但我的文件仍被锁定。
我已经检查过Process Explorer:DLL肯定已被卸载,但文件仍处于锁定状态。
(看起来我将不得不使用应用程序域或单独的Exe建议)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.