2012-04-20 56 views
2

我正在Visual Studio 2010中開發一個Web應用程序項目。它發佈到Windows 2008服務器。我是否需要在服務器上安裝Crystal Reports的某些內容?

我已經加入到引用:

CrystalDecisions.CrystalReports.Engine

CrystalDecisions.Shared

CrystalDecisions.Web

而添加的CrystalReportViewer到.aspx頁。

查看器要顯示的水晶報表文件位於應用程序發佈到的服務器上。

如果我在本地運行應用程序 - 它工作正常,報告顯示在查看器中。

如果我將應用程序發佈到服務器上,它會因'log4net'缺失的程序集消息而崩潰。

是否需要在服務器上安裝Crystal Reports中的某些內容?

回答

2

是的,您需要安裝相關的Crystal Reports運行時/重新分配;

http://www.businessobjects.com/jump/xi/crvs2010/us2_default.asp

應該有你需要的東西。

如果你得到的版本麻煩試圖通過添加以下內容到應用程序/網絡的.config固定:

<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
     <assemblyIdentity name="CrystalDecisions.CrystalReports.Engine" publicKeyToken="692fbea5521e1304" culture="neutral"/> 
     <bindingRedirect oldVersion="xx.x.xxxx.x" newVersion="yy.y.yyyy.y"/> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="CrystalDecisions.Shared" publicKeyToken="692fbea5521e1304" culture="neutral"/> 
     <bindingRedirect oldVersion="xx.x.xxxx.x" newVersion="yy.y.yyyy.y"/> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="CrystalDecisions.ReportSource" publicKeyToken="692fbea5521e1304" culture="neutral"/> 
     <bindingRedirect oldVersion="xx.x.xxxx.x" newVersion="yy.y.yyyy.y"/> 
     </dependentAssembly> 
     <dependentAssembly> 
     ... 
    </assemblyBinding> 
    </runtime> 
+0

謝謝你。所以我想我需要在服務器上安裝適用於.NET Framework 4(64位)的SAP Crystal Reports運行時引擎。我怎麼知道它是否已經在那裏? – 2012-04-20 12:09:56

+0

從內存中它會出現在控制面板,添加/刪除程序 – 2012-04-20 12:48:03

+0

我總是被這個東西困惑。我添加了對CrystalDecisions.ReportAppServer.CommLayer.dll的引用併發布了該網站。 當我嘗試運行該網站時,我被告知程序集CrystalDecisions.ReportAppServer.CommLayer.dll版本13.0.2000.0缺失。在我的本地機器上引用的版本是13.0.0.99 服務器爲什麼要查找13.0.2000.0?是什麼讓它做到這一點?你上傳一個網站,參考一個DLL版本13.0.0.99,服務器決定尋找13.0.2000.0我怎樣才能讓我的本地機器引用什麼推測是後來的版本? – 2012-04-20 13:06:42

0

我能解決這個錯誤我只是勾選啓用從高級設置32位應用程序爲true在IIS中。點擊你選擇的應用池> adv settings>會彈出一個對話框。

相關問題