【发布时间】:2014-12-01 09:11:57
【问题描述】:
我是 .net 编码员,我对 ColdFusion 真的很陌生。我写了一个自动生成发票的 .dll 库。我需要使用 ColdFusion 应用程序中的库。我已经成功地将库中的类加载为coldfusion对象,因为我可以调用这些方法。但是,我的班级中有一种方法使用 WordprocessingDocument,它是 DocumentFormat.OpenXml.Packaging 的一个类。我实际上收到了这个错误:
System.IO.FileNotFoundException:无法加载文件或程序集 'DocumentFormat.OpenXml,版本=2.5.5631.0,文化=中性, PublicKeyToken=31bf3856ad364e35' 或其依赖项之一。这 系统找不到指定的文件。文件名: 'DocumentFormat.OpenXml,版本=2.5.5631.0,文化=中性, PublicKeyToken=31bf3856ad364e35' 在 InvoiceLibrary.DocumentHandler.ConvertDocumentToDOCX(字符串文件)
在 InvoiceLibrary.DocumentHandler.ProcessDocument()
我已经导入了 DocumentFormat.OpenXml.dll,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">
我需要您指导我做错了什么或我在这里遗漏了什么?
【问题讨论】:
-
哦,多亏了那个 Leigh!是的,现在看起来好多了:)
-
欢迎 :) 不幸的是,我没有答案,但您检查过 jnbridge(用于 .net 互操作)日志吗?见
{cf_install}/jnbridge/error.log。 有时该日志包含有关 .net 错误的其他详细信息。 -
不,我还没有。我现在就试试。我已经被这个问题困扰了很长一段时间了。吸球!我可以成功调用 .dll 库中的方法,但是这个实现 WordprocessingDocument 类的特定方法是它失败的地方。我确定我已经包含了所有依赖项。可能是类加载器问题吗?不管怎样,谢谢你的建议,我马上去看看
-
您是否在 every createObject 调用中包含了所有依赖项?省略一些可能会导致该问题。 可能是类加载器的问题 可能,这有时是“找不到方法..”错误的原因,但很难说。
-
如果您喜欢冒险,可以尝试使用generating the proxies yourself 和
\jnbridge目录中的内置工具。另外,如果相关的话,您的完整 CF 版本是什么?检查 CF Admin 屏幕或使用<cfdump var="#server.coldfusion#">
标签: c# .net coldfusion openxml