错误 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”的版本
解决方法
尝试过的解决方式:
1、安装Office 2003;
2、安装vstor.exe;
3、安装O2003PIA.EXE;
4、无数次的重启服务器、重启IIS;
5、安装“可编程性支持”:在“添加或删除程序”中对Office进行“更改”安装操作,将漏装部分重新安装上去即可。具体操作如下面的图片:
如下图:对应用程序进行高级自定义
如下图:在“.Net 可编程性支持”选项的下拉菜单中选择“从本机运行”或“从本机运行全部程序”。
应用步骤1及步骤5后,问题解决,原因如下:
系统安装了“Excel 2003”,但是没有安装到GAC里面。(有关GAC全局程序集缓存的介绍大家可以参考MSDN的相关帮助。)导致出现种情况的可能有两个:一是在Office 是在安装.Net Framework之前安装的,另一个是在安装Office的过程中漏选了“.Net 可编程性支持”。那么我们第5步做的就是将Office 2003 PIA(主Interop程序集)安装到GAC里,可以从以下目录看到:“C:\Windows\assembly”,从而如题所述的问题也就解决了。
同样的,在Asp.net里引用其它程序集出现类似的问题也可参考此方法。
如果再不行的话,就下载一个PIA
安装到“C:\Windows\assembly”目录下,重启电脑,在引用集里,添加引用--Microsoft Excel 11.0 Object Library 1.5 就可以了。