服务器抛出异常。 (来自HRESULT的异常:0x80010105(RPC_E_SERVERFAULT))

时间:2017-04-27 04:36:08

标签: c# .net-framework-version comexception visio2013 visio-2010

我有一个应用程序可以打开Visio文件.VSD并将一些jpeg图像复制到VSD文件中。我正在使用Visio 2013,它适用于此版本,但我有另一台客户端机器,我只有这个应用程序的exe(不完整的代码库),并在该客户端机器中有Visio 2010。当我运行应用程序并选择Visio .vsd文件时,它会抛出上述错误。

苦苦挣扎以了解exe,代码,版本或dll是否存在问题? 我可以知道可能是什么修复或一些解决方法? 我打开引发异常的visio应用程序的代码如下,

 Microsoft.Office.Interop.Visio.Application application = new Microsoft.Office.Interop.Visio.Application();
 application.Visible = true;

                                     Microsoft.Office.Interop.Visio.Document doc = null;
                 OpenFileDialog filedg = new OpenFileDialog();
                 filedg.Title = "Select VSD template file";
                 filedg.InitialDirectory = @"c:\";
                 filedg.Filter = "All files (*.*)|*.*|All files (*.*)|*.*";
                 filedg.FilterIndex = 2;
                 filedg.RestoreDirectory = true;
                 if (filedg.ShowDialog() == DialogResult.OK)
                 {
                     LogMessageToFile("Opening Visio template");
                     if(application == null)
                     {
                         LogMessageToFile("Visio application is NULL");
                         return;
                     }
                     LogMessageToFile("Filename" + filedg.FileName);
                     doc = application.Documents.Open(filedg.FileName);

1 个答案:

答案 0 :(得分:1)

“它适用于此版本,但我有另一台客户端机器,我只有这个应用程序的exe” -

根据我的经验,如果仅在多台计算机上发生这种情况,问题是您运行的EXE具有不足的私密性以使用InterOp或Visio本身。

尝试使用“以管理员身份运行”运行EXE。