Я пытаюсь реализовать генератор отчетов для рабочего проекта, в какой-то момент мне удалось заставить его работать, но больше не могу, к сожалению, не могу понять, что привело к появлению проблемы. Даже создание простейшего файла RDLC больше не работает, если он содержит хотя бы один заполнитель.
Я использую Windows 10 с Visual Studio 2022. Версия CLR, отображаемая в выходных данных, — CLR v4.0.30319.
То, что я пытался сделать, это:
Вот ошибки, которые я получаю при запуске приложения:
Ошибка при запуске отчета, 1Ошибка при запуске отчета, 2
Вот шаги, которые я выполняю при попытке реализовать свой проект:
Теперь, если я удалю заполнитель, содержащий дату: [Изображение, показывающее, что оно работает без заполнителя] (https://i.sstatic.net/ErLLo.png)
Ребята, у вас уже была такая ошибка? Как это исправить? Пару месяцев назад у меня был полностью рабочий проект, но теперь даже самая простая страница не работает.
Кроме того, что мне кажется странным, так это то, что, хотя он попросил меня установить зависимость, она не отображается в диспетчере пакетов Nuget, но обнаруживает ее в консоли, потому что у меня есть предупреждение:
NU1603: Microsoft.ReportingServices.ReportViewerControl.Winforms 150.1586.0 depends on Microsoft.SqlServer.Types (>= 14.0.0) but Microsoft.SqlServer.Types 14.0.0 was not found. An approximate best match of Microsoft.SqlServer.Types 14.0.314.76 was resolved.
Увидев это, я попытался добавить PackageReference для SqlServer.Types в файл csproj моего проекта: Csproj, содержащий PackageReference
И после этого он появляется в диспетчере пакетов Nuget и в ссылках моего проекта, но все равно не работает, хотя предупреждение больше не отображается.
Для большей точности я попытался использовать параметр для заполнителя, встроенных полей или даже простого текста (очевидно, с кавычками), но безуспешно.
Любая помощь будет оценена по достоинству, заранее спасибо.
Из ответа:Microsoft.ReportingServices.ReportViewerControl.Winform выдает FatalExecutionEngineError
Помощник по управляемой отладке FatalExecutionEngineError (MDA) активируется при обнаружении фатальной ошибки в среде CLR. Процесс будет прекращен. Чаще всего это вызвано повреждением данных, которое может быть вызвано рядом проблем, таких как вызовы некорректных функций вызова платформы и передача недопустимых данных в CLR. Для получения более подробной информации вы можете обратиться к этому документу: FatalExecutionEngineError MDA.
Для интеграции элементов управления средством просмотра отчетов и пакетов NuGet вы можете перейти по этим ссылкам:
Интеграция служб отчетов с помощью элементов управления средством просмотра отчетов — начало работы,
Microsoft.ReportingServices.ReportViewerControl.Winforms: https://www.nuget.org/packages/Microsoft.ReportingServices.ReportViewerControl.WinForms/.
Судя по тому, что я прочитал в сообщениях, которые вы переслали, проблема может быть связана с обновлением McAfee/Trellix, которое у меня было недавно. Я попытаюсь связаться со своей ИТ-командой, чтобы отключить ее для проверки, и вернусь, чтобы подтвердить, было ли это причиной, что, я думаю, так и есть, поскольку это вызвало другие проблемы в нашей команде разработчиков.
Обновление: действительно, причиной проблемы был Trellix. Судя по тому, что я видел, ошибку можно увидеть в 32-разрядных приложениях .NET, моей ИТ-команде пришлось добавить политику для отключения сканирования расширенных сценариев.
https://kcm.trellix.com/corporate/index?page=content&id=SB10405
Ваш ответ можно улучшить, добавив дополнительную вспомогательную информацию. Пожалуйста, отредактируйте , чтобы добавить дополнительную информацию, например цитаты или документацию, чтобы другие могли подтвердить правильность вашего ответа. Более подробную информацию о том, как писать хорошие ответы, вы можете найти в справочном центре.