Je suis si proche d'avoir mon dernier rapport et de courir. Je n'ai pas eu ce problème avec d'autres rapports. J'essaie de créer un rapport basé sur un enregistrement de base de données. Lorsque je vais créer le rapport par localReporter et créer les paramètres du rapport, je reçois le message d'erreur "Assistant de débogage géré" Pinvokestackbalance ":" Appel à la fonction de Pinvoke "Microsoft.ReportingServices.Rending.Imagerendreur. FontPackage :: Createfontpackage 'a déséquilibré la pile. Ceci est probable parce que la signature de Pinvoke gérée ne correspond pas à la signature cible non gérée. Vérifiez que la convention d'appel et les paramètres de la signature de Pinvoke correspondent à la signature non gérée de la cible. ' Ceci est un rapport .rdlc pour mon projet MVC. L'enregistrement est correct et les valeurs sont insérées mais lorsque je vais l'afficher/le créer. Sur la ligne 'rendudbytes = localRepor.Render (
/* TRACKER_TEST Database Connection ~ Debugging & Testing */
TRACKER_TESTDataSet dataSet = new TRACKER_TESTDataSet();
TRACKER_TESTDataSetTableAdapters.Service_Report_FieldsTableAdapter adapter = new TRACKER_TESTDataSetTableAdapters.Service_Report_FieldsTableAdapter();
LocalReport localReport = new LocalReport();
localReport.ReportPath = Server.MapPath("~/ReportForms/VirtualService2.rdlc");
List<TRACKER_TESTDataSet.Service_Report_FieldsRow> report = new List<TRACKER_TESTDataSet.Service_Report_FieldsRow>();
foreach(var row in list)
{
report.Add(adapter.GetDataBy(row.SN1, row.SN2).First());
}
ReportDataSource rds = new ReportDataSource("Service_Data", report);
localReport.DataSources.Add(rds);
// command specifies whether its a PDF Excel Word IMAGE doc
string reportType = command;
string mimeType, encoding, fileNameExtension;
string deviceInfo =
"<DeviceInfo>" +
" <OutputFormat>" + command + "</OutputFormat>" +
" <PageWidth>8.5in</PageWidth>" +
" <PageHeight>11in</PageHeight>" +
" <MarginTop>0.5in</MarginTop>" +
" <MarginLeft>0.3in</MarginLeft>" +
" <MarginRight>0.3in</MarginRight>" +
" <MarginBottom>0.5</MarginBottom>" +
"</DeviceInfo>";
Warning[] warnings;
string[] streams;
byte[] renderedBytes;
renderedBytes = localReport.Render(
reportType,
deviceInfo,
out mimeType,
out encoding,
out fileNameExtension,
out streams,
out warnings);
return File(renderedBytes, mimeType);
}
J'ai eu le même problème avec mon rapport. Assurez-vous que votre rapport n'a pas de polices différentes. J'ai changé mon rapport pour avoir une police Arial tout au long et l'erreur a été résolue.