2016-04-11 2 views
-2

Я новичок в разработке приложений winforms C#. В настоящее время я работал над приложением Winforms, имеющим Crystal Reports, и отлично работал в режиме отладки и без отладки во время разработки. Но когда я развернул его и запустил клиентский компьютер, он дал мне ошибку, пока я пытаюсь открыть любой отчет Crystal.Кристальный отчет: отчет о загрузке не удалось после развертывания Приложение C# для Winforms

Ошибка при его отсутствии ->.

************** Exception Text ************** 
CrystalDecisions.Shared.CrystalReportsException: Load report failed. ---> System.Runtime.InteropServices.COMException: Unsupported Operation. A document processed by the JRC engine cannot be opened in the C++ stack. 
    at CrystalDecisions.ReportAppServer.ClientDoc.ReportClientDocumentClass.Open(Object& DocumentPath, Int32 Options) 
    at CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.Open(Object& DocumentPath, Int32 Options) 
    at CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() 
    --- End of inner exception stack trace --- 
    at CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() 
    at CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename, OpenReportMethod openMethod, Int16 parentJob) 
    at CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename) 
    at ePos._forms._pos._reports.customerLedgerReport.ShowReport(DataTable dtable) 
    at ePos._forms._pos._reports.customerLedgerReport.customerLedgerReport_Load(Object sender, EventArgs e) 

Прошу помочь, вы будете так благодарны вам. :)

+0

Посмотрите предыдущие темы первым. Затем обновите свой вопрос, чтобы точно указать, что вы пробовали, и каков был результат, если он все еще не работает после этого. http://stackoverflow.com/questions/8654154/unsupported-operation-a-document-processed-by-the-jrc-engine-cannot-be-opened-i, http://stackoverflow.com/questions/10833894/ a-document-processing-by-the-jrc-engine-can-not-open-in-c-stack –

+0

благодарит за ваш добрый ответ. Мне кажется, что это не работает для меня. –

ответ

1

Единственная причина для этой проблемы заключается в том, что «приложение не могло найти отчет о кристалле (.rpt)», независимо от причины.

Вот возможные причины для сообщения об ошибке.

  • Расположение доклада указан в "Load() метод является недействительным или
    отчет не существует в этом месте.
    :

    Это происходит из-за того, что при разработке приложения местоположение отчета указывается с помощью машины-разработчика, но после развертывания приложения местоположение изменяется в отношении структуры папок IIS.

    Проверьте путь к файлу .rpt. Это, вероятно, решить ее

    Server.MapPath("~/Reports/InvoiceRegular.rpt"); 
    

    или-- Щелкните правой кнопкой мыши Rpt файл-> Выберите свойства-> Изменено

    • Сложение Действие как «Содержание».
    • Скопируйте в выходной каталог как «Не копировать».
    • Пустой для пользовательского инструмента и пользовательского пространства имен инструментов.
  • отчеты не являются неизменными: Если отчеты публикуются с помощью Visual Studio «Опубликовать» вариант, но если не опубликованы должным образом существует вероятность того, что отчеты могут потерять содержимое или испорчены. Лучший способ проверить это - слишком просто сравнить размеры отчетов с машиной Dev и Prod/client.

  • Случайное изменение прав доступа или политики безопасности/доступа: Это возможная причина, когда несколько раз отчет работает, но иногда он выдает ошибку. Вы можете проверить политику безопасности, применяемую к вашему компьютеру/домену, если права на приложение в отношении местоположения отчета изменяются/меняются. Используйте Process Monitor и ищите любые отказы в доступе или проблемы с разрешением.

  • Все возможные причины сообщения об ошибке «Ошибка загрузки отчета» также применимы и к этой проблеме. Вот лучшая статья, написанная Ludek, которая охватывает их всех.http://scn.sap.com/docs/DOC-21995

  • Другим серьезным поводом для этой проблемы является предел задания печати для . Рассмотрим сценарий, в котором приложение выполняет несколько функций просмотра/экспорта/печати в отчетах , отчеты работают отлично в большинстве случаев, но периодически перебрасывают это исключение. Ниже приведен документ, который вы можете посмотреть , чтобы решить эту проблему. http://scn.sap.com/docs/DOC-21533

+0

Я использую Winforms и нет Server.MapPath(); и мой код: 'public void ShowReport (DataTable dtdata) { crystalReportViewer.SelectionMode = CrystalDecisions.Windows.Forms.SelectionMode.None; ReportDocument rdoc = new ReportDocument(); rdoc.Load (@ "@ reports/rptBalanceSheet.rpt"); rdoc.SetDataSource (dtdata); crystalReportViewer.ReportSource = rdoc; } ' –

+0

Всегда [ссылайтесь на свои источники] (http://scn.sap.com/community/crystal-reports-for-visual-studio/blog/2012/08/08/troubleshooting-error-unsupported-operation-a -document обработанный-бай-зе-JRC-двигателя не может-быть открыт-в-с-стека); в противном случае вы плагиате. –

+0

@GrantWinney спасибо за ваш добрый ответ .. :) и я уже показал вам код. –

Смежные вопросы