【问题标题】:The server threw an exception. (Exception from HRESULT: 0x80010105 (RPC_E_SERVERFAULT))服务器抛出异常。 (来自 HRESULT 的异常:0x80010105 (RPC_E_SERVERFAULT))
【发布时间】:2017-04-27 04:36:07
【问题描述】:

我有一个应用程序,它打开一个 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);

【问题讨论】:

  • 哪个代码行会抛出这个异常?
  • doc = application.Documents.Open(filedg.FileName);这是抛出异常的地方。

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


【解决方案1】:

“它在这个版本上运行良好,但我有另一台客户端机器,我只有这个应用程序的 exe” -

根据我的经验,如果仅在多台计算机上发生这种情况,则问题是您正在运行的 EXE没有足够的权限来使用 InterOp 或 Visio 本身。

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

【讨论】:

    猜你喜欢
    • 2017-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多