【问题标题】:Exe file Error HResult 0x8002000B, Invalid Index [duplicate]exe文件错误HResult 0x8002000B,无效索引[重复]
【发布时间】:2012-12-05 16:03:02
【问题描述】:

可能重复:
How to run a C# .exe file on many computers?

我的可执行文件有问题。我在 C# windows 窗体中制作了从 txt 转换为 excel。然后在调试中我把exe文件放在那里。在我的 .NET 40 和 Excel 2010 的计算机上,我完全没有问题。但是当我在另一台笔记本电脑上尝试它时,它会显示Invalid Index HRESULT 0x8002000B。有 office 2010 但没有 visual studio 2010 。我该如何解决?问题是因为没有 Visual Studio 安装,如果是这样,我如何使用所有库制作可执行文件?

【问题讨论】:

  • 你检查过电脑有.Net 4吗?
  • 这是一个低级 COM 错误,当您使用后期绑定时会遇到这种错误。通过使用 Microsoft.Office.Interop.Excel 命名空间的早期绑定以及在代码中使用更好的错误报告来提高您的几率,以便您获得异常的堆栈跟踪。为 AppDomain.CurrentDomain.UnhandledException 编写事件处理程序并记录或显示 e.ExceptionObject.ToString()
  • @HansPassant:我如何使用早期绑定?你能告诉我怎么做吗?
  • 添加对 Microsoft.Office.Interop.Excel 的引用并使用其类型。喜欢应用程序。

标签: c# indexing exe hresult


【解决方案1】:

当其他计算机没有目标 .net 时会发生此错误。如果您发布您的应用程序并通过安装文件安装它,您可以先决条件以 .net 框架为目标。在设置之前,它会检查计算机是否有.net。如果没有它会建议安装它。

【讨论】:

  • 好的,谢谢,这意味着我必须做一个安装文件。我认为 C# 中有一个函数可以做到这一点。如果没有,你能告诉我如何设置 inklusiv .net 吗?
【解决方案2】:

转到项目--> 属性--> 发布--> 先决条件 确保目标框架是先决条件,并选择一个位置并发布它。您的安装文件已准备好用于所有 Windows 计算机...+

【讨论】:

    【解决方案3】:

    在网上研究并询问朋友后,现在我知道为什么会出现这个问题。我尝试了设置,但它不起作用,给我同样的错误索引无效。

    问题出在 excel 选项上,有些用户将 excel worksheetsnumber 设置为 3,有些设置为 1 ... 默认情况下始终为 3。但如果用户将其更改为 1,并且在我的 C# 中,我不会添加新的 Worksheet 而只是 get_item,所以它会给我一个无效索引的错误。所以我通过在我的 C 代码中删除工作簿中的所有工作表来解决它,然后添加新的工作表。

    感谢你们帮助我,如果有人从 excel 转换或导出为 txt、pdf 或其他格式,请记住默认为 3 个工作表,但用户可以更改它并且您收到错误 0x8002000B :)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-04
      • 2020-09-22
      • 2012-10-01
      • 2018-03-05
      • 1970-01-01
      • 2020-02-11
      相关资源
      最近更新 更多