第二次打开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的其他方法吗?

第二次打开PDF时Visual Studio崩溃

在调用start("asdf.pdf")之前,我会使用using context或dispose命令来摆脱任何打开的文件连接,并查看是否可以处理它。

还要确保你的进程在win7中以admin身份运行。你可以尝试的另一件事是使用过程。启动(cmd, "aspdf.pdf"),这样你就启动了一个命令窗口,它会调用PDF启动器

虽然不完美,但我最终的解决方案是在webBrowser控件中显示pdf,通过使用

将URL设置为pdf的路径

webBrowser1.Navigate("asdf.pdf");

this在adobereader中显示,但在web浏览器中。

这个解决方案完全符合我的需求(如果不是更好的话),并且不会导致应用程序崩溃。谢谢大家的建议。