RDLC net 4.5.2. - Операция может дестабилизировать время выполнения

Когда я пытаюсь экспортировать отчет в PDF/Excel/Word или распечатать отчет, я получаю сообщение об ошибке. Описание ошибки:

Server Error in '/' Application.

Operation could destabilize the runtime. 
  Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

 Exception Details: System.Security.VerificationException: Operation could destabilize the runtime.

Ошибка источника:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Трассировки стека:

[VerificationException: Operation could destabilize the runtime.]

[TypeInitializationException: The type initializer for 'System.Diagnostics.Activity' threw an exception.]

[TargetInvocationException: Exception has been thrown by the target of an invocation.]
   System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) +153
   System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) +336
   System.Collections.Generic.IList`1.get_Item(Int32 index) +0
   Microsoft.ReportingServices.ReportIntermediateFormat.TextBox.SetExprHost(ReportExprHost reportExprHost, ObjectModelImpl reportObjectModel) +101
   Microsoft.ReportingServices.OnDemandProcessing.OnDemandProcessingContext.RuntimeInitializeTextboxObjs(ReportItem reportItem, Boolean setExprHost) +74
   Microsoft.ReportingServices.OnDemandReportRendering.OnDemandPageEvaluation.InitializeEnvironment() +778
   Microsoft.ReportingServices.OnDemandReportRendering.OnDemandPageEvaluation..ctor(Report report) +84
   Microsoft.ReportingServices.OnDemandReportRendering.Report..ctor(Report reportDef, ReportInstance reportInstance, RenderingContext renderingContext, String reportName, String description) +100
   Microsoft.ReportingServices.ReportProcessing.Execution.RenderReportOdp.PrepareROM(RenderingContext& odpRenderingContext) +158
   Microsoft.ReportingServices.ReportProcessing.Execution.RenderReport.Execute(IRenderingExtension newRenderer) +306

[LocalProcessingException: An error occurred during local report processing.]
   Microsoft.Reporting.WebForms.LocalReport.InternalRender(String format, Boolean allowInternalRenderers, String deviceInfo, PageCountMode pageCountMode, CreateAndRegisterStream createStreamCallback, Warning[]& warnings) +166
   Microsoft.Reporting.WebForms.LocalModeSession.RenderReport(String format, Boolean allowInternalRenderers, String deviceInfo, NameValueCollection additionalParams, Boolean cacheSecondaryStreamsForHtml, String& mimeType, String& fileNameExtension) +193
   Microsoft.Reporting.WebForms.ExportOperation.PerformOperation(NameValueCollection urlQuery, HttpResponse response) +514
   Microsoft.Reporting.WebForms.HttpHandler.ProcessRequest(HttpContext context) +250
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +188
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +69

Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.6.1087.0

Есть идеи. Благодарю.

6 ответов

Вот как я исправил свой.

  1. Найдите пакет NuGet System.Diagnostics.DiagnosticSource, установленный в вашем веб-проекте. У меня уже была последняя версия.
  2. Понизьте его до последней стабильной версии. В моем случае это был 4.4.0.
  3. После завершения обновления обновите его до последней версии. Восстановите решение и проверьте. Моя ошибка ушла.

Процесс сортировки вниз / вверх обновил элементы, необходимые в web.config, чтобы он снова заработал.

Я начал получать это сообщение в последние два месяца или около того, и теперь я думаю, что нашел проблему.

Как вы можете видеть в этой проблеме на Github, кажется, что есть проблема при использовании ApplicationInsights v2.4.0, потому что он ссылается на dll с именем System.Diagnostics.DiagnosticsSource (v4.4.0) и (как указано в проблеме) эта новая ссылка вызывает проблему,

Дата, когда они были скопированы в эту папку, была около двух месяцев назад (когда эта проблема начала происходить для меня). И я не могу воспроизвести эту проблему в DEV/QAS, потому что DLL не были "установлены" в этих средах.

Когда я удалил эти DLL из папки bin моего приложения, проблема исчезла. Так как мое приложение не ссылалось на эти DLL ни за что, не было проблем с их удалением.

Но если вы не можете удалить их, кажется, v4.5.0 System.Diagnostics.DiagnosticsSource исправит эту проблему, но она еще не была официально выпущена. Следите за проблемой Github для более подробной информации.

У меня была та же проблема, и я смог ее решить, закомментировав Microsoft.ApplicationInsights.Web.AspNetDiagnosticTelemetryModule в ApplicationInsights.config.

Просто пережил боль этого сообщения! Мы используем веб-ролики на Azure, а RDLC является частью таких ключевых вещей, как печать счетов.

Для нас ответом было зайти в свойства вебролла и ВЫКЛЮЧИТЬ "включить диагностику".

ATM, это все еще с поддержкой MSFT, поэтому не могу дать вам причину, но это устранило нашу проблему хруста RDLC вживую! Надеюсь, что это помогает кому-то С уважением, Питер

Я исправил это, понизив пакет NuGet до:

Microsoft ReportViewer Runtime 2008 for Web Forms - 9.0.21022.8

У меня тоже была эта проблема. Эта проблема возникла после того, как я обновил пакеты NuGet в своем приложении до последней версии. Приложение будет работать нормально на моей машине для разработки, но как только я разверну его на рабочем сервере, я начал видеть эту ошибку при попытке получить доступ к странице ReportViewer.

В итоге я удалил все пакеты ApplicationInsights NuGet из моего приложения. Это избавило от ссылки на dll System.Diagnostics.DiagnosticsSource, а затем мое приложение стало работать нормально.

Другие вопросы по тегам