【问题标题】:Coldfusion OpenXml Error: Could not load file or assembly 'DocumentFormat.OpenXml'Coldfusion OpenXml 错误:无法加载文件或程序集“DocumentFormat.OpenXml”
【发布时间】: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 屏幕或使用&lt;cfdump var="#server.coldfusion#"&gt;

标签: c# .net coldfusion openxml


【解决方案1】:

使用dependency walker 之类的工具确保您正在复制 DocumentFormat.OpenXml.dll 正在使用的所有必需的链接 dll。另外不要忘记将此文件与您的输出一起复制。

【讨论】:

    猜你喜欢
    • 2016-12-23
    • 2014-10-08
    • 1970-01-01
    • 2010-10-07
    • 2023-03-05
    • 1970-01-01
    • 2018-09-14
    • 2013-02-23
    相关资源
    最近更新 更多