2009-12-30 5 views
1

Je suis prêt à utiliser JasperReports dans .Net. J'ai utilisé IKVM.net pour créer les DLL nécessaires pour cela, et traduit un exemple d'application.JasperReports dans .Net sur IKVM

Mais je reçois un NotImplementedExeption en C# (le code équivalent en Java fonctionne parfaitement)

JasperPrint print = JasperFillManager.fillReport(jasperFileDialog.FileName, null, new JREmptyDataSource()); 

La méthode ou opération n'est pas mis en œuvre.

Voir ci-dessous pile trace


Notes: Version IKVM: 0.40.0.1 http://sourceforge.net/projects/ikvm/files/ikvm/0.40.0.1/ikvmbin-0.40.0.1.zip/download


Exception Stack Trace

 
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(Map parameterValues) 
    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(Map parameterValues, JRDataSource ds) 
    at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JasperReport jasperReport, Map parameters, JRDataSource dataSource) 
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperReport jasperReport, Map parameters, JRDataSource dataSource) 
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(String sourceFileName, Map parameters, JRDataSource dataSource) 
    at Jasper.Net.Form1.ExportButton_Click(Object sender, EventArgs e) in C:\Documents and Settings\Administrator\My Documents\Visual Studio 2008\Projects\Jasper.Net\Jasper.Net\Form1.cs:line 39 
    at System.Windows.Forms.Control.OnClick(EventArgs e) 
    at System.Windows.Forms.Button.OnClick(EventArgs e) 
    at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) 
    at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) 
    at System.Windows.Forms.Control.WndProc(Message& m) 
    at System.Windows.Forms.ButtonBase.WndProc(Message& m) 
    at System.Windows.Forms.Button.WndProc(Message& m) 
    at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) 
    at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) 
    at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) 
    at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg) 
    at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData) 
    at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context) 
    at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context) 
    at System.Windows.Forms.Application.Run(Form mainForm) 
    at Jasper.Net.Program.Main() in C:\Documents and Settings\Administrator\My Documents\Visual Studio 2008\Projects\Jasper.Net\Jasper.Net\Program.cs:line 18 
    at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args) 
    at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args) 
    at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() 
    at System.Threading.ThreadHelper.ThreadStart_Context(Object state) 
    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) 
    at System.Threading.ThreadHelper.ThreadStart() 
+0

Essayez de vérifier la définition/déclaration de la méthode dans la DLL générée à l'aide du réflecteur – A9S6

+0

Votre chemin de pile ne montre pas d'où proviennent les NotImplementedExeption. Sans cette information, il est impossible de répondre. – Horcrux7

+0

Avez-vous déjà eu ce travail? – FlappySocks

Répondre

0

Généralement, l'exception de classe non trouvée se produit lorsque le fichier Jasper Reports dépend d'un autre fichier jar. Par exemple, si le jasperreport.jar utilise un autre fichier comme log4net.jar, vous devez d'abord convertir le fichier jar dépendant en dll. Puis utilisé la DLL convertie pour la liaison lors de la conversion du rapport jasper. J'ai eu le même problème lors de la conversion d'Apache POI en DLL.

Questions connexes