警告: 程式集綁定日誌記錄被關閉。
要啟用程式集綁定失敗日誌記錄,請將註冊表值 [HKLM/Software/Microsoft/Fusion!EnableLog] (DWORD)設定為 1。
注意: 會有一些與程式集綁定失敗日誌記錄關聯的效能損失。
要關閉此功能,請移除註冊表值 [HKLM/Software/Microsoft/Fusion!EnableLog]。
這個問題初步判斷為伺服器上面缺少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。