我打破了這個問題,我有一個使用水晶報表的Web應用程序,在開發電腦中工作正常,但是當複製同一個項目時到另一臺電腦,當我加載項目(VS 2003)出現以下消息:CrystalDecisions.Web參考版本在運行webapp時突然發生變化
One or more projects in solution need to be updated to use Crystal Reports XI Release 2. If you choose "Yes", the update will be applied permanently...
我選擇「是」之後,我可以看到CrystalDecisions.Web參考具有正確的版本,位置根據開發機器,在這種情況下:11.5.3300.0。
但是,當運行webapp時,我可以看到版本和路徑突然變爲:11.0.3300.0。
,並試圖看到出現以下錯誤報告時:
分析器錯誤信息:基類包括字段「CrystalReportViewer1」,但其類型(CrystalDecisions.Web.CrystalReportViewer)是不兼容控件的類型(CrystalDecisions.Web.CrystalReportViewer)。
的asp.net有以下幾點:
<%@ Register TagPrefix="cr" Namespace="CrystalDecisions.Web" Assembly="CrystalDecisions.Web, Version=11.5.3300.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" %>
這怎麼可能?這裏發生了什麼事?
編輯 這是我做過什麼:
錯誤的版本(11.0.3300.0)是位於: C:\Program Files\Common Files\Business Objects\3.0\managed
和正確的版本(11.5.3300.0)位於: C:\Program Files\Business Objects\Common\3.5\managed
因此,我剛剛刪除了錯誤解決方案的文件,並且使其在新計算機中運行,運行webapp時沒有更多錯誤,報告顯示正常。
但是,當嘗試做在生產服務器同樣的事情,不同的錯誤就出來了,現在是一個例外:
This report could not be loaded due to the following issue: The type initializer for 'CrystalDecisions.CrystalReports.Engine.ReportDocument' threw an exception.
任何想法可能是現在造成這個錯誤?
下面是代碼:
Try
Dim cr As New ReportDocument
cr.Load(strpath)
cr.SetDatabaseLogon("user", "pwd")
Select Case rt
Case 1
cr.SummaryInfo.ReportTitle = "RMA Ticket"
Case 2
cr.SummaryInfo.ReportTitle = "Service Ticket"
End Select
'cr.SummaryInfo.ReportTitle = tt
cr.SetParameterValue("TicketNo", tn)
'cr.SummaryInfo.ReportComments = comment
CrystalReportViewer1.PrintMode = CrystalDecisions.Web.PrintMode.ActiveX
CrystalReportViewer1.ReportSource = cr
CrystalReportViewer1.ShowFirstPage()
'cr.Close()
'cr.Dispose()
Catch ex As Exception
MsgBox1.alert("This report could not be loaded due to the following issue: " & ex.Message)
End Try
我做了你所說的,並再次運行webapp時更改版本,這是瘋狂的,我不知道它從哪裏得到版本從:( – Somebody