admin管理员组

文章数量:1643962

创建于 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文件中配置的版本就是拷贝的文件。

本文标签: 加载文件程序InteropExcel