【缺少office的组件】分享给互联网技能从业者学习和参考。
这个问题初步判断为服务器上面缺少office的组件。
我开发的环境安装了vs2005。vs2005安装完毕后,在GAC(路径为:C:WINDOWSassembly)中注册很多程序集。在C:WINDOWSassembly目录下面找到了Microsoft.Office.Tools.Excel 版本:8.0.0.0 公钥标识:b03f5f7f11d50a3a与我的配置文件一致。(奇怪为什么配置文件中PublicKeyToken=“B03F5F7F11D50A3A"为大写,而C:WINDOWSassembly目录下面的公钥标识为小写呢?.net不是区分大小写吗?)
服务器上由于没有安装vs2005。而开发网站的时候“引用dll “ 的时候引用的是C:WINDOWSassembly下面的程序集。在服务器的C:WINDOWSassembly目录下面根本就不存在Microsoft.Office.Tools.Excel 所以运行网站的时候报错。
解决方案:
在服务器上面把程序需要引用的dll注册到GAC中。
具体方法:
1.先把需要的dll拷贝到服务器上面。把开发环境中的C:Program FilesCommon FilesMicrosoft SharedVSTO目录直接拷贝到服务器的C:Program FilesCommon FilesMicrosoft Shared目录下。
2.在服务器上 开始-程序-管理工具-Microsoft .NET Framework 2.0 配置-管理程序集缓存-将程序集添加到程序集缓存。选中那些dll即可。
运行网站。一切ok。