Мой проект был разработан Visual Studio 2013, использующим Crystal Report с пакетом обновления 21 (SP21). В настоящее время я перешел на Visual Studio 2017 и установил Crystal Report SP24. Приложение может работать без каких-либо проблем. Однако, как только я распечатал отчет Crystal Report, произошел сбой w3wp.exe. Это происходит на моем локальном хосте.
rptGrn.Load(HttpContext.Current.Server.MapPath("~/Reports/GRNRecords.rpt"));
rptGrn.SetDataSource(SSRecordHdrs); //error
rptGrn.Subreports["GRNDetails"].SetDataSource(lsDtls); //error
Я попробовал решение, добавив настройку в web.config, но не повезло, и это не сработало.
<startup useLegacyV2RuntimeActivationPolicy = "true">
<supportedRuntime version = "v2.0.50727"/>
<supportedRuntime version = "v4.0" sku = ".NETFramework,Version=v4.0" />
</startup>
Я почесал голову неделю из-за этого вопроса. Я благодарен за любую помощь или комментарий, который дает подсказки для решения этой проблемы.
Большое Вам спасибо.
Настраивать: - Приложение WebForm - .NET 3.5 - Visual Studio 2017 - IIS 10 (Локальный хост)





После недельных мучений я обнаружил, что основная причина заключается в том, что Crystal Report SP21 после этого не может использовать ADO.NET.
Пожалуйста, обратитесь к пунктам (5) для SP21: https://wiki.scn.sap.com/wiki/display/BOBJ/Crystal+Reports%2C+Developer+for+Visual+Studio+Downloads
Решение, которое я нашел: Создайте виртуальную машину, установив Crystal Report с пакетом обновления 21 (SP21), и разверните проект на виртуальной машине.
Обратите внимание: .NET framework более 3.5 не будет иметь этой проблемы.
Если кто-то разрабатывает платформу .NET 3.5 выше и, возможно, сможет решить эту проблему, добавив
<startup useLegacyV2RuntimeActivationPolicy = "true">
в конфигурацию web / app. Я пробовал этот метод, но мне не повезло.
Удачи всем, у кого есть эта проблема.