第二次打开PDF时Visual Studio崩溃

时间:2013-04-06 19:26:17

标签: c# pdf visual-studio-2012 process itextsharp

在我的程序中,当我使用以下命令打开PDF文件时,我有一个奇怪的问题:

 Process.Start("test.pdf");

第一次,文件打开很好,但第二次在任何pdf文件上使用此命令,在代码中的任何位置,vshost.exe崩溃。

我的下一步是禁用vshost,禁用vshost,应用程序自动崩溃。

当我说'崩溃'时,我的意思是说它已停止响应。

如果我创建一个新项目,它的工作正常,那么我的项目一定有问题吗?

我在代码中的其他位置使用iTextSharp库来创建pdfs,这可能是一个原因吗?

我意识到这个问题非常普遍,但我不知道是什么导致它,所以我不知道要提供什么信息。

更多信息:

当我在程序崩溃后查看调试器的输出时,它显示“程序'[4320] SmartShelf.exe:Managed(v4.0.30319)'已退出,代码为-1073741819(0xc0000005)'访问冲突'。 “

编辑:有没有人知道使用c#查看pdf的其他方式?

2 个答案:

答案 0 :(得分:0)

我会在调用start(“asdf.pdf”)之前使用context或dispose命令来删除任何打开的文件连接,看看是否会处理它。

还要确保您的进程在win7中以管理员身份运行。 您可以尝试的另一件事是使用process.start(cmd,“aspdf.pdf”),这样就可以启动命令窗口并调用pdf启动器。

答案 1 :(得分:0)

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

将URL设置为PDF的路径

webBrowser1.Navigate("asdf.pdf");

这在adobe reader中显示,但在网络浏览器中显示。

此解决方案非常适合我的需求(如果不是更好)并且不会导致应用程序崩溃。谢谢大家的建议。