发布网站的时候,遇到'未能加载文件或程序集 Microsoft.Office.Tools.Excel, Version=8.0.0.0'

 开发环境:Windows2003(sp2),iis6,sql server 2005,vs2005。office2003。

服务器:Windows2003(sp2),iis6,sql server 2005。office2003。说明: 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。

分析器错误信息: 未能加载文件或程序集“Microsoft.Office.Tools.Excel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项。系统找不到指定的文件。

源错误:

行 38: 			<assemblies>
            行 39: 				<add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            行 40: 				<add assembly="Microsoft.Office.Tools.Excel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            行 41: 				<add assembly="Office, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"/>
            行 42: 				<add assembly="Microsoft.Vbe.Interop, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C"/></assemblies></compilation>

源文件: D:\Manage\web\web.config    行: 40

程序集加载跟踪: 下列信息有助于确定程序集“Microsoft.Office.Tools.Excel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”无法加载的原因。

警告: 程序集绑定日志记录被关闭。
            要启用程序集绑定失败日志记录,请将注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD)设置为 1。
            注意: 会有一些与程序集绑定失败日志记录关联的性能损失。
            要关闭此功能,请移除注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog]。
            
 

 

“/”应用程序中的服务器错误。

配置错误

 



版本信息: Microsoft .NET Framework 版本:2.0.50727.42; ASP.NET 版本:2.0.50727.62 

 

这个问题初步判断为服务器上面缺少office的组件。

我开发的环境安装了vs2005。vs2005安装完毕后,在GAC(路径为:C:\WINDOWS\assembly)中注册很多程序集。在C:\WINDOWS\assembly目录下面找到了Microsoft.Office.Tools.Excel 版本:8.0.0.0 公钥标识:b03f5f7f11d50a3a  与我的配置文件一致。(奇怪为什么配置文件中PublicKeyToken=“B03F5F7F11D50A3A"为大写,而C:\WINDOWS\assembly目录下面的公钥标识为小写呢?.net不是区分大小写吗?)

服务器上由于没有安装vs2005。而开发网站的时候“引用dll “ 的时候引用的是C:\WINDOWS\assembly下面的程序集。在服务器的C:\WINDOWS\assembly目录下面根本就不存在Microsoft.Office.Tools.Excel 所以运行网站的时候报错。

解决方案:

在服务器上面把程序需要引用的dll注册到GAC中。

具体方法:

1.先把需要的dll拷贝到服务器上面。把开发环境中的C:\Program Files\Common Files\Microsoft Shared\VSTO目录直接拷贝到服务器的C:\Program Files\Common Files\Microsoft Shared\目录下。

2.在服务器上 开始-程序-管理工具-Microsoft .NET Framework 2.0 配置-管理程序集缓存-将程序集添加到程序集缓存。选中那些dll即可。

运行网站。一切ok。

posted @ 2008-08-08 09:37  gby630  阅读(3665)  评论(0编辑  收藏  举报