它似乎在我的開發機器或Windows XP測試機器上工作正常,但我遇到了Windows 7測試機器上的問題。Windows 7上的VS的Crystal Reports運行時引發錯誤
在那之後,我得到一個正常的崩潰錯誤:
************** Exception Text **************
System.InvalidOperationException: An error occurred creating the form. See
Exception.InnerException for details. The error is: The type initializer for
'CrystalDecisions.CrystalReports.Engine.ReportDocument' threw an exception. --->
System.TypeInitializationException: The type initializer for
'CrystalDecisions.CrystalReports.Engine.ReportDocument' threw an exception. --->
CrystalDecisions.CrystalReports.Engine.LoadSaveReportException: An error has occurred while
attempting to load the Crystal Reports runtime.
Either the Crystal Reports registry key permissions are insufficient or the Crystal Reports runtime is not installed correctly.
Please install the appropriate Crystal Reports redistributable (CRRedist*.msi) containing the correct version of the Crystal Reports runtime (x86, x64, or Itanium) required. Please go to http://www.businessobjects.com/support for more information.
at CrystalDecisions.CrystalReports.Engine.ReportDocument.CheckForCrystalReportsRuntime()
at CrystalDecisions.CrystalReports.Engine.ReportDocument..cctor()
--- End of inner exception stack trace ---
at CrystalDecisions.CrystalReports.Engine.ReportDocument..ctor()
at CrystalDecisions.CrystalReports.Engine.ReportClass..ctor()
at Processing.LogTag..ctor()
at Processing.frmPrint.InitializeComponent()
at Processing.frmPrint..ctor()
--- End of inner exception stack trace ---
他們的網站當然是一場噩夢發現了什麼......
注:這是64位Windows 7 ,但我已經在32位模式下運行程序。
更新:
所以我想通了,水晶報表有一個問題,即x64版本沒有任何初始化,所以試圖導致錯誤在我的程序進行初始化。
我已驗證,如果我卸載x64版本,並安裝x86 32位版本,該程序工作正常。我讀過一些人剛剛在32位模式下運行該程序,但無論出於何種原因,這對我來說都不起作用。
我想讓問題開放一點點,希望有人已經想出瞭如何讓它初始化64位版本,因爲這是從一次安裝後自動安裝的。
如果我安裝64位版本,這將工作與舊PC? –
如果我沒有弄錯,如果你安裝該版本並在64位計算機上編譯,那麼它可以在x86或x64計算機上運行。至少它爲我做了。你可能不得不使用構建設置,但它應該工作。 – AndyD273
這是偉人!你節省了這一天 –