У меня есть следующий код. В моей среде разработки я не получаю никаких ошибок, но в моей производственной среде я получаю.
...
private Document _pdf;
public Report()
{
_pdf = new Document();
}
public string GenerateReport(string reportType) {
try {
var fs = new FileStream("C:\\myfile.pdf", FileMode.Create);
_pdfWriter = PdfWriter.GetInstance(_pdf, fs);
...
Когда код запускается, я получаю следующую ошибку на _pdfWriter = PdfWriter.GetInstance(_pdf, fs);:
Object reference not set to an instance of an object.
at iTextSharp.text.pdf.PdfWriter.GetInstance(Document document, Stream os)
at Report.GenerateReport(String reportType)
Как вы думаете, почему я получаю эту ошибку? Файловый поток создан, и в конструкторе задан _pdf.
Обновить
Проблема в том, что _pdf равен нулю. Я не уверен, почему он равен нулю, как указано в конструкторе. Я могу обойти эту проблему, выполнив:
if (_pdf == null) {
_pdf = new Document();
}
_pdfWriter = PdfWriter.GetInstance(_pdf, fs);
Я все еще хотел бы знать, что я делаю неправильно...