2014-10-07 17 views
9

I am .net coder e sono davvero molto nuovo per ColdFusion. Ho scritto una libreria .dll che genera automaticamente una fattura. Avevo bisogno di usare la libreria da un'applicazione ColdFusion. Ho caricato con successo le classi nella mia libreria come oggetti coldfusion come posso chiamare i metodi. Tuttavia, c'è un metodo nella mia classe che usa WordprocessingDocument che è una classe di DocumentFormat.OpenXml.Packaging. Sono in realtà ottenendo questo errore:Errore Coldfusion OpenXml: Impossibile caricare il file o l'assembly 'DocumentFormat.OpenXml'

System.IO.FileNotFoundException: Could not load file or assembly 'DocumentFormat.OpenXml, Version=2.5.5631.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified. File name: 'DocumentFormat.OpenXml, Version=2.5.5631.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' at InvoiceLibrary.DocumentHandler.ConvertDocumentToDOCX(String file)
at InvoiceLibrary.DocumentHandler.ProcessDocument()

Ho importato il DocumentFormat.OpenXml.dll così è il file WindowsBase.dll

<cfObject type=".NET" name="WordprocessingDocument" 
    class="DocumentFormat.OpenXml.Packaging.WordprocessingDocument" 
    assembly="C:\Users\mydocs\Documents\Visual Studio 2012\Projects\InvoiceGenerator\InvoiceLibrary\bin\Release\DocumentFormat.OpenXml.dll,C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\WindowsBase.dll"> 

ho bisogno del vostro consiglio a quello che sto facendo di sbagliato o che cosa sono Mi manca qui?

+1

ooh grazie a quella Leigh! Sì, sembra molto meglio ora :) – jmesolomon

+0

Benvenuto :) Sfortunatamente, non ho una risposta, ma hai controllato i log jnbridge (usati per .net interop)? Vedi '{cf_install}/jnbridge/error.log'. * A volte * quel registro contiene ulteriori dettagli sugli errori .net. – Leigh

+0

No, non l'ho ancora fatto. Ci proverò ora. Sono rimasto bloccato su questo problema da un po 'di tempo. Succhia palle! Potrei chiamare correttamente i metodi nella libreria .dll, ma questo particolare metodo che implementa la classe WordprocessingDocument è dove fallisce. Sono sicuro di aver incluso tutte le dipendenze. Potrebbe essere un problema con il caricatore di classe? Comunque, grazie per il tuo suggerimento, controllerò subito – jmesolomon

risposta

0

Utilizzare uno strumento come dependency walker per assicurarsi che si stiano copiando tutte le DLL collegate richieste che DocumentFormat.OpenXml.dll sta utilizzando. Inoltre, non dimenticare di copiare questo file con il tuo output.

Problemi correlati