未能加载文件或程序集Microsoft.Office.Interop.Excel, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce1

创建于 2015-01-04

迁移自个人的百度空间

------------------------------

未能加载文件或程序集“Microsoft.Office.Interop.Excel, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c”或它的某一个依赖项

程序中嵌入office功能, 解析excel中的数据, 然后存储sqlserver2008数据库中,但是web程序发布后, 报上诉错误,错误原因解析如下:

错误 155 程序集“Microsoft.Office.Interop.Excel, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c”所使用的“Microsoft.Vbe.Interop, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c”版本高于所引用的程序集“Microsoft.Vbe.Interop, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c”的版本

也就是说程序集版本要统一, 但是对这些office程序集的引用往往依赖程序运行的主机环境,而主机环境中的提供的程序集版本往往比程序的要求要低.

所以解决这一问题的思路是,提供我们自己的程序集, 首先在开发环境中找到该程序集,如:我本机开发环境引用的程序集路径是C:\Program Files\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA\Office12, 从中选取Microsoft.Office.Interop.Excel.dll,和Microsoft.Vbe.Interop.dll两个程序集文件,拷贝到web项目的bin目录下,同时确保web.config文件中配置的版本就是拷贝的文件。

猜你喜欢

转载自blog.csdn.net/LinSeeker85/article/details/88885088