c #Windows应用程序无法在另一台计算机上运行

时间:2016-07-08 06:28:43

标签: c# .net vb.net excel office-interop

我创建了一个新的C#windows窗体应用程序。我已将COM参考“Microsoft Excel 15.0对象库”添加到我的项目中。此项目用于将Excel数据导入数据集。我已经做了。我的电脑工作正常。如果我在另一台计算机上运行exe文件,它会显示如下所示的错误。

ERROR:

  

无法转换类型的COM对象   Microsoft.Office.Interop.Excel.ApplicationClass'到接口类型   'Microsoft.Office.Interop.Excel._Application'“此操作失败   因为QueryInterface调用COM组件的接口   因为IID'{{000208D5-0000-0000-C000-000000000046}'失败了   以下错误:加载类型库/ DLL时出错(异常来自   HRESULT:0x80029C4A(TYPE_E_CANTLOADLIBRARY))

3 个答案:

答案 0 :(得分:0)

COM组件不是我的专长,我不经常使用它们。但我会告诉你我以前经历过的事情。请注意,我在大约6个月前经历过这种情况,在我的工作场所,情况远非理想。

为了使用/某些COM组件,您还需要在目标计算机上安装它的依赖项(在本例中为Excel / Office)。您是否检查过目标计算机上是否安装了Excel?

如果没有,您可以使用OLEDB连接来读取Excel文件。我不记得具体是怎么做的。

这可能有助于以某种方式使用OLEDB读取Excel文件:http://www.codeproject.com/Tips/705470/Read-and-Write-Excel-Documents-Using-OLEDB

答案 1 :(得分:0)

在您的proyect参考文献中,尝试在您的dll中设置Copy Local = true

答案 2 :(得分:-2)

如果您在64位开发环境中工作,请尝试明确定义使用非32位版本的库。要在Visual Studio中执行此操作,请在项目配置的“构建”部分中选中然后取消选中“首选32位”框,这会将<Prefer32Bit>false</Prefer32Bit>添加到.csproj文件中。