Crystal сообщает об ошибке в SetDataSource

У меня проблемы с VS 2010 sap crystalreports, используя С # для создания приложения Windows.

Я получаю следующую ошибку со следующим кодом:

 CrystalReport1 cr1 = new CrystalReport1();
 cr1.SetDataSource(dt1); //Error 
Could not load file or assembly 'file:///C:\Program Files (x86)\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win64_x64\dotnet1\crdb_adoplus.dll' or one of its dependencies. The system cannot find the file specified.

person Rajesh Abraham    schedule 07.06.2012    source источник


Ответы (3)


Попробуйте использовать это решение от добавление атрибута useLegacyV2RuntimeActivationPolicy в ваш файл .config

<startup useLegacyV2RuntimeActivationPolicy="true">
person Lee O.    schedule 08.06.2012
comment
Я получаю ту же ошибку в моем проекте модульного теста и добавляю вышеуказанное в свой app.config. Тем не менее, я все еще получаю ту же ошибку. (Я пытаюсь выполнить модульное тестирование отправки по электронной почте PDF-файла, созданного с помощью отчета Crystal) - person Shawn de Wet; 03.04.2013
comment
Когда я добавляю этот раздел, я получаю еще одну ошибку при запуске приложения CrystalDecisions.Shared.SharedUtils CrystalDecisions.ReportSource.ReportSourceFactory Необработанное исключение типа System.TypeInitializationException произошло в CrystalDecisions.Windows.Forms.dll - person duardbr; 31.03.2016

 <startup useLegacyV2RuntimeActivationPolicy="true" >
    <supportedruntime version="v4.0" sku=".NETFramework,Version=v4.0" />
 </startup>

Добавьте этот код в app.config.

person Rajesh Abraham    schedule 08.06.2012

Возможно, вам потребуется установить файлы времени выполнения Crystal Reports. Вы должны иметь возможность выполнить поиск в Google, чтобы найти их. Сообщение об ошибке довольно четко сообщает вам, что проблема заключается в отсутствии .dll. Прочтите это;)

изменить: попробуйте найти crdb_adoplus.dll на вашем компьютере и скопировать его в каталог приложения.

person Tom Studee    schedule 07.06.2012
comment
вы уверены, что установили 64-битную версию и правильную 64-битную версию? - person Tom Studee; 08.06.2012
comment
Я переустанавливаю 64-битную версию. - person Rajesh Abraham; 08.06.2012
comment
сначала попробуйте то, что я предложил в моем редактировании. дай мне знать, если это работает. - person Tom Studee; 08.06.2012
comment
всякий раз, когда я меняю целевую платформу - «.NET Framework 3.5» работает, а «.NET Framework 4.0» показывает ошибку .. почему? есть идеи? ... пожалуйста, помогите .. - person Rajesh Abraham; 08.06.2012
comment
@RajeshAbraham Пожалуйста, перестань говорить, пожалуйста, помогите. И на этой ноте. Скорее всего, в структуре 4.0 есть другой вызов. Если этот файл существует даже в платформе 4.0. - person Drise; 08.06.2012
comment
@RajeshAbraham У меня было изменение вызовов функций от фреймворка к фреймворку, когда-то это была разница между передачей val по ref. Если изменение фреймворков исправит это для вас: 1) используйте фреймворк 3.5 или 2) найдите обновленный вызов в фреймворке 4.0. - person Drise; 08.06.2012
comment
@Drise спасибо. Я установил обновленный вызов в рамках 4.0. но все еще показывает ту же ошибку. - person Rajesh Abraham; 08.06.2012
comment
ДОБАВИТЬ 'useLegacyV2RuntimeActivationPolicy = true' В APP.CONFIG. ‹Запуск useLegacyV2RuntimeActivationPolicy = true› - person Rajesh Abraham; 08.06.2012