開發環境: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:\BGS_LAN_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 所以運行網站的時候報錯。