Could not load file or assembly 'Microsoft.Office.Interop.Excel, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' or one of its dependencies.
出现这个问题的原因有两个:
1、系统里没有安装“Excel 2003”;
2、系统安装了“Excel 2003”,但是没有安装到GAC里面。(有关GAC全局程序集缓存的介绍大家可以参考MSDN的相关帮助。)
首先,如果是由于第一种原因而导致出现如题的问题的话那是最好解决不过的了,那就是安装一下Microsoft Excel 2003就可以了。
另外,由于第二种原因而导致的。导致出现种情况的可能也有两个:一是在Office 是在安装.Net Framework之前安装的,另一个是在安装Office的过程中漏选了“.Net 可编程性支持”。那么我们现在要做的就是将Office 2003 PIA(主Interop程序集)安装到GAC里。具体的安装方法和步骤如下:
1)、如果系统未安装.Net Framework,请先安装,如果已安装了的话就可直接进行第二步。
2)、在“添加或删除程序”中对Office进行“更改”安装操作,将漏装部分重新安装上去即可。具体操作如下面的图片:
如下图:添加或删除Office功能
如下图:对应用程序进行高级自定义
如下图:在“.Net 可编程性支持”选项的下拉菜单中选择“从本机运行”或“从本机运行全部程序”。
经过以上步骤的安装后,Office 2003 PIA就会被安装到GAC里去了,可以从以下目录看到:“C:\Windows\assembly”,从而如题所述的问题也就解决了。
同样的,在Asp.net里引用其它程序集出现类似的问题也可参考此方法。