第二次打开PDF时Visual Studio崩溃
本文关键字:Visual Studio 崩溃 PDF 第二次 | 更新日期: 2023-09-27 18:08:03
在我的程序中,当我使用以下命令打开一个PDF文件时,我遇到了一个奇怪的问题:
Process.Start("test.pdf");
第一次,文件打开得很好,但是第二次我在任何pdf文件上使用这个命令,在代码的任何位置,vshost.exe崩溃。
我的下一步是禁用vshost,当vshost被禁用时,应用程序自己会崩溃。
当我说"崩溃"的时候,我的意思是它已经停止响应了。
如果我创建一个新项目,它工作得很好,所以它一定是我的项目有问题吗?
我在代码的其他点使用iTextSharp
库来创建pdf,这可能是一个原因吗?
我意识到这个问题很普遍,但我不知道是什么原因导致的,所以我不知道该提供什么信息。
更多信息:
当我在程序崩溃后查看调试器的输出时,它说"程序'[4320]SmartShelf.exe: Managed (v4.0.30319)'已退出,代码为-1073741819 (0xc0000005)"访问违例"。"
有人知道用c#看pdf的其他方法吗?在调用start("asdf.pdf")之前,我会使用using context或dispose命令来摆脱任何打开的文件连接,并查看是否可以处理它。
还要确保你的进程在win7中以admin身份运行。你可以尝试的另一件事是使用过程。启动(cmd, "aspdf.pdf"),这样你就启动了一个命令窗口,它会调用PDF启动器
虽然不完美,但我最终的解决方案是在webBrowser控件中显示pdf,通过使用
将URL设置为pdf的路径 webBrowser1.Navigate("asdf.pdf");
this在adobereader中显示,但在web浏览器中。
这个解决方案完全符合我的需求(如果不是更好的话),并且不会导致应用程序崩溃。谢谢大家的建议。