无法加载文件或程序集“Microsoft.Office.Interop.Excel,版本= 14.0.0.0

我有网站,使用MS Excel文件读/写。

我添加了相关的DLL到网站的Bin文件夹,它在我的本地主机上工作完美(我认为我已经在我的电脑上安装了MS Excel 2010)

但是,当我上传到远程PC并运行该网站,它会引发错误:

无法加载文件或程序集“Microsoft.Office.Interop.Excel,版本= 14.0.0.0,文化=中立,PublicKeyToken = 71e9bce111e9429c”或其依赖项之一。 定位的程序集清单定义与程序集引用不匹配。 (来自HRESULT的exception:0x80131040)

Bin文件夹中的文件是:

Microsoft.Vbe.Interop.dll office.dll Microsoft.Office.Interop.Excel.dll Microsoft.Office.Interop.Excel.xml office.xml 

我在远程电脑上安装了“Microsoft Office 2010:主互操作程序集可重新分发”, http://www.microsoft.com/en-us/download/details.aspx?id=3508

但同样的错误ocurrs。

如何解决这个问题?

谢谢。

一种方法 – 安装MS Office(MS Excel)

我知道这个线程是有点老,但我有同样的错误,我解决了它(它在我的项目中工作)。

在我的web.config文件中,我添加了程序集:

<add assembly="office, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"/>和许多其他办公程序集。

我已经做的事情是,我已经从web.config文件中删除所有程序集,并添加了dll作为参考 – 在这种情况下Microsoft.Office.Interop.Excel.dll。

我不是一个专家,我只是想大声说,web.config文件正试图拉动DLL。 文件从C:\ Windows \程序集\,如果有的话,如果它不能foud,返回错误。

您不必在您的服务器上安装办公室或其他不必要的东西。

希望这可以帮助别人。

你不需要安装MS Office- 2010,添加引用 – > COM->“Microsoft office 12.0 Object Libaray”

它的作品对我来说。

在C#项目中使用Excel的正确过程是:

  1. 添加对Excel Interop库的引用(汇编)
  2. using部分添加Excel
  3. 现在在你的编码中使用它。


如果您的PC上安装了Office(Excel),则第一步将起作用。 如果没有,然后安装。 然后添加对您所需版本的Microsoft.Office.Interop.Excel的引用。

一个。 如果列表没有显示需要的版本,那么你可能会有安装Excel的Office的另一个愿景。 顺便说一下,你可以使用任何。

湾 如果您没有find像Microsoft.Office.Interop那样的东西,那么可能是未安装Office,或者您有Office 2013或更高版本。 对于更高版本,您可以通过进入添加引用窗口的COM选项卡来添加程序集,并添加Microsoft Excel {version-no} Object Library 。 这将添加相同的。

C。 如果您已经有Microsoft.Office.Interop...在带有黄色三angular形标记的引用那么先删除它。



之后,第二步将完全工作: using Excel=Microsoft.Office.Interop.Excel;



最后,作为第三步,您可以通过Excel创buildExcel对象。应用程序Excel.Application xlApp = new Excel.Application();