2011-06-29 43 views
1

我有一個使用Crystal Reports XI R2(11.5.3700.0)進行報告的.net 2.0應用程序。 它工作正常,在Windows XP,但顯示了Windows 7的一個奇怪的行爲Crystal Reports在調試模式下工作在外部調試器失敗

在Windows 7中,在調試模式下運行時(F5)一切看起來很好,很好,但如果我們推出EXE直接(沒有調試; CTRL + F5)它不能顯示報告。

我可以從堆棧跟蹤中看到以下信息,但我在這裏完全無能爲力。

at CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() 
    at CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename, OpenReportMethod openMethod, Int16 parentJob) 
    at CrystalDecisions.CrystalReports.Engine.ReportClass.Load(String reportName, OpenReportMethod openMethod, Int16 parentJob) 
    at CrystalDecisions.CrystalReports.Engine.ReportDocument.EnsureLoadReport() 
    at CrystalDecisions.CrystalReports.Engine.ReportDocument.SetDataSourceInternal(Object val, Type type) 
    at CrystalDecisions.CrystalReports.Engine.ReportDocument.SetDataSource(DataSet dataSet) 

有人曾經遇到過這個麻煩,並且恢復了嗎? 友善的幫助總是值得讚賞的。

編輯:此應用程序在單個UI線程上運行。這是一個Winforms應用程序。

+0

什麼是異常(看起來像第一行缺失)? – Nix

+0

異常的類型是System.Exception。 Mesage是「加載報告失敗。」 – ShellDragon

回答

1

此問題是由於Windows 7中的數據執行保護安全功能造成的。 有兩種方法可以解決該問題。

  1. 添加以下行到您的文章構建腳本,而忘記這個問題
 
call "$(DevEnvDir)\..\..\VC\bin\vcvars32.bat" 
call "$(DevEnvDir)\..\..\VC\bin\editbin.exe" /NXCOMPAT:NO "$(TargetPath)" 
  1. 禁用DEP完全(不推薦。它會打開安全漏洞),一切工作正常。
  2. 安裝Crystal Reports XI R2 Service Pack 6運行時。這個運行時與Windows 7兼容(按照他們的發行說明,我沒有測試過)。
相關問題