我在web 項目使用了ReportViewer 呈現報表,在本機開發環境下,報表顯示一切正常,當我把程序部署到別的機器上時,出錯如下:“/WebReport”應用程序中的服務器錯誤。
配置錯誤
說明: 在處理向該請求提供服務所需的配置文件時出錯。請檢查下面的特定錯誤詳細信息並適當地修改配置文件。 分析器錯誤信息: 未能加載文件或程序集“Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一個依賴項。系統找不到指定的文件。源錯誤: 行 17: <compilation debug="true">
行 18: <assemblies>
行 19: <add assembly="Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
行 20: <add assembly="Microsoft.ReportViewer.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
行 21: </assemblies>
源文件: C:\inetpub\wwwroot\WebReport\web.config
行: 19 程序集加載跟蹤: 下列信息有助於確定程序集“Microsoft.ReportViewer.WebForms, 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.210
那是因為發布程序沒配好,bin目錄下沒有找到相應的dll。
解決辦法就是把:虛擬目錄下的 所有dll 到拷貝到bin目錄下。bin目錄下一定要有以下3個文件。
1) Microsoft.ReportViewer.Common.dll
2) Microsoft.ReportViewer.ProcessingObjectModel.dll
3) Microsoft.ReportViewer.WebForms.dll