Я недавно начал использовать последнюю версию Crystal Reports с Visual Studio 2010 и SharpDevelop в приложении c # windows (формы). Я загрузил последние версии Crystal DLL для Visual Studio 2010 из SAP и вручную создал ссылки на следующие
using CrystalDecisions.CrystalReports;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.ReportSource;
Затем я создаю ReportDocument, чтобы открыть файл rpt:
ReportDocument rptDoc = new ReportDocument();
все это прекрасно компилируется. Проблема возникает, когда я пытаюсь использовать объект rtpDoc для чего-либо;
rptDoc.Load(@"c:\DialLeadsByDistributor.rpt");
как если бы компилятор не понимал, что это объект класса, несмотря на то, что когда я нащупываю указатель мыши на переменную, он правильно сообщает об этом как CrystalDecisions.CrystalReports.Engine.ReportDocument
, но не только intellisense не показывает мне какие-либо методы или свойства объект, я получаю следующую ошибку компилятора, которая поставила меня в тупик:
Недопустимый токен '(' в объявлении члена класса, структуры или интерфейса
, который ссылается на вышеприведенное утверждение как на строку обидчика ...
Может кто-нибудь пролить свет на это? Если я посмотрю на метаданные для класса ReportDocument, он содержит три метода Load, первый из которых принимает строку, которая является путем к файлу rpt. Тот факт, что эта проблема возникает как в Visual Studio 2010, так и в SharpDevelop, по крайней мере согласован, но все же не имеет смысла для меня.