【发布时间】:2013-04-08 07:21:12
【问题描述】:
在我的程序中,当我使用以下命令打开 PDF 文件时,我遇到了一个奇怪的问题:
Process.Start("test.pdf");
第一次,文件打开得很好,但第二次我在任何 pdf 文件上使用此命令,在代码中的任何位置,vshost.exe 崩溃。
我的下一步是禁用 vshost,在禁用 vshost 的情况下,应用程序自身崩溃。
当我说“崩溃”时,我的意思是它已停止响应。
如果我创建一个新项目,它可以正常工作,那么我的项目一定有问题吗?
我在代码的其他位置使用iTextSharp 库来创建 pdf,这可能是原因吗?
我知道这个问题很普遍,但我不知道是什么原因造成的,所以我不知道要提供什么信息。
更多信息:
当我在程序崩溃后查看调试器的输出时,它显示“程序 '[4320] SmartShelf.exe: Managed (v4.0.30319)' 已退出,代码为 -1073741819 (0xc0000005) '访问冲突'。 "
编辑:有人知道使用 c# 查看 pdf 的任何其他方式吗?
【问题讨论】:
-
你为什么要用
"test.pdf"开始一个进程???进程必须是可执行文件,而pdf不是可执行文件... -
@bash.d:
Process.Start是ShellExecute的包装器,它接受文档名称并查找关联的应用程序。 -
但一定有别的办法……这太荒唐了
-
@MarkH 没有解决方案,但我只记得我遇到过一些类似的问题,问题的原因是 Adobe Reader 的某些特定版本。您是否尝试更改默认 pdb 查看器并查看这是否能解决您的问题?
-
我不介意如何打开 PDF,所以如果有人知道我可以使用的另一种方法,我会试一试。
标签: c# pdf visual-studio-2012 process itextsharp