2016-11-09 82 views
0

我正在構建一個asp.net C#應用程序,該應用程序使用按鈕來檢索並顯示View中的RDLC報告。這些報告在本地主機上加載時沒有問題,但是當放置在Windows Server 2012 R2 Standard 64位並通過IIS版本8.5提供時,錯誤:[A] Microsoft.Reporting.WebForms.ReportHierarchy無法轉換爲[B] Microsoft.Reporting.WebForms.ReportHierarchy

[A] Microsoft.Reporting.WebForms.ReportHierarchy無法轉換爲[B] Microsoft.Reporting.WebForms.ReportHierarchy。類型A來源於位於'C:\ Windows \ assembly \ GAC_MSIL \ Microsoft.ReportViewer.WebForms \ 12.0'上下文'Default'中的'Microsoft.ReportViewer.WebForms,Version = 12.0.0.0,Culture = neutral,PublicKeyToken = 89845dcd8080cc91' .0.0__89845dcd8080cc91 \ Microsoft.ReportViewer.WebForms.dll」。類型B來源於位於'C:\ Windows \ assembly \ GAC_MSIL \ Microsoft.ReportViewer.WebForms \ 11.0'上下文'Default'中的'Microsoft.ReportViewer.WebForms,Version = 11.0.0.0,Culture = neutral,PublicKeyToken = 89845dcd8080cc91' .0.0__89845dcd8080cc91 \ Microsoft.ReportViewer.WebForms.dll」。

報告加載時給出。這會阻止在報告中加載嵌入的jpg圖像。

我在web.config,.csproj或default.aspx中使用Microsoft.ReportViewer.WebForms,版本= 12.0.0.0,未引用版本11。 我拖了msdn.microsoft.com,stackoverflow,谷歌和youtube ...無濟於事。

什麼可能導致此錯誤,是否有修復它?

回答

0

檢查您的部署機器上的GAC(或路徑中的其他位置)。服務器上可能會隱藏另一個版本的dll。事實上,重讀你的錯誤,我看到了錯誤中GAC的路徑,所以發生了什麼事情。

我建議在你的項目,你基準的DLL,以確保相同的版本上使用您的本地和遠程計算機

+0

我卸載所有版本,除了報表查看器的12版本設置「特定版本」爲真,但我現在收到錯誤「無法加載文件或程序集'Microsoft.ReportViewer.WebForms,Version = 11.0.0.0,Culture = neutral,PublicKeyToken = 89845dcd8080cc91'或它的某個依賴項。系統找不到指定的文件」 –

+0

How我去'設置'特定版本''嗎? –

+0

在Visual Studio項目中添加引用時,可以設置引用程序集的屬性。其中一個屬性是「特定版本」。您可以通過右鍵單擊參考並選擇屬性來調出屬性。 – Jonathan

相關問題