我有以下代码从我的应用程序中打开文档:
System.Diagnostics.Process.Start(fileName);
这已经可以工作好多年了,并且在其他人的计算机上也可以工作。
但是,我最近有一台新电脑。在我的计算机上,它只能运行一次:单击按钮,然后打开文档。当我第二次尝试做完全相同的事情时,出现此错误:
Message: System.ComponentModel.Win32Exception (0x80004005): The specified procedure could not be found
at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start()
at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start(String fileName)
at Citadel.Products.Entity.ProductFactSheetDetail.DownLoad(String path, Boolean includeDateInFileName, Boolean addGuidToFileName, Boolean fileNameKeepSpaces, Boolean viewDocument)
at Citadel.Products.Entity.ProductFactSheetDetail.DownLoad(Boolean includeDateInFileName)
at Citadel.Products.Interface.Controls.FactSheetVersionSelectorControl.btnView_Click(Object sender, EventArgs e) in C:\Dev\Src\Tyrus\CodeBase\Development\Citadel.Products\Citadel.Products.Interface\Controls\FactSheetVersionSelectorControl.cs:line 81 - The specified procedure could not be found
Stack Trace: at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start()
at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start(String fileName)
at Citadel.Products.Entity.ProductFactSheetDetail.DownLoad(String path, Boolean includeDateInFileName, Boolean addGuidToFileName, Boolean fileNameKeepSpaces, Boolean viewDocument)
at Citadel.Products.Entity.ProductFactSheetDetail.DownLoad(Boolean includeDateInFileName)
at Citadel.Products.Interface.Controls.FactSheetVersionSelectorControl.btnView_Click(Object sender, EventArgs e) in C:\Dev\Src\Tyrus\CodeBase\Development\Citadel.Products\Citadel.Products.Interface\Controls\FactSheetVersionSelectorControl.cs:line 81
Application: Citadel.Tyrus
Version: 1.0.0.0
OSVersion: Microsoft Windows NT 6.2.9200.0
Description:
摆脱此错误的唯一方法是重新启动我的应用程序。
很明显,这不是编码问题,我的计算机上不正确,但是我不知道从哪里开始寻找。任何帮助将不胜感激。
编辑:错误与打开的文件无关。每当我们从数据库下载文件时,我们总是向文件名添加随机Guid以确保其唯一性。
编辑:问题似乎只发生在MS Office文档中。当我打开PDF文档或bmp时,不会发生此错误。
答案 0 :(得分:0)
答案 1 :(得分:0)
我认为我终于通过重新安装点Net Framework解决了该问题。 (但是,警告:这样做不是为胆小者做的。(我胆怯)。如果您认为卸载和重新安装很简单,请再考虑一下)