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

未能加载文件或程序集“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文件中配置的版本就是拷贝的文件. 可以通过下图得到程序集的路径:

程序运行的时候会首先在gac中查找,如果找到,即调用主机环境下的这两个文件,否则,最终会在bin目录下查找.这样问题即可解决, 其他思路往往是配置主机环境, 将其运行环境与开发环境设置一致, 但是对于租用的空间,往往不现实,除非是拥有独立的主机.


参考网页:http://archive.cnblogs.com/a/2037206/

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值