“找不到文件或程序集名称“Interop.Microsoft.Office.Interop.Excel”,或找不到它的一个依赖项”的一种原因

我的一个项目,在我本机运行正常,到客户那里有几次在用户导入excel文件时出现错误。之前出错是同事处理的,我没有看到出错的代码,最近又在导入时出现错误,错误提示是:找不到文件或程序集名称“Interop.Microsoft.Office.Interop.Excel”,或找不到它的一个依赖项。一般的说法都是项目引用的程序集Interop.Microsoft.Office.Interop.Excel不存在,没有放在指定的地方(一般是bin目录下),或服务器上没有安装excel或版本不相同。但我遇到的错误,经一一排除,都不是这些原因。

经多次测试,我的错误原因是因为在代码中使用的程序集和项目中引用的程序集不一致造成的。而一般的情况是不会出现这种错误的,而我的项目之所以会出现这样的错误,是因为我的项目是采用所谓插件的方式处理的:框架项目只使用功能项目生成的dll,而不关心它依赖的dll,功能项目使用了一个excel封装程序集,而框架项目使用了另外一个excel封装程序集,造成其引用的不一致,从而产生了这样的错误。找到了错误,处理错误相应的也就很简单了:在框架项目和功能项目使用相同的excel封装程序集就可以了。

posted on 2009-05-05 10:57  常绍新  阅读(4476)  评论(3编辑  收藏  举报