无法加载文件或程序集“DocumentFormat.OpenXml - 再次

问题描述 投票:0回答:3

看来这个问题是一个非常流行的问题,我已经阅读了近十几个类似的问题,但都提供了相同的解决方案(安装并引用 DocumentFormat.OpenXml 2.5),我已经这样做了,但仍然没有工作。

我正在使用 Visual Studio 2012,在我的项目中引用 ClosedXML 版本 0.93 及其依赖项 DocumentFormat.OpenXML 版本 2.5。这两个 .dll 文件都存储在我的项目的 .exe 文件旁边。 Visual Studio 似乎看到了这些引用:

在我的代码顶部,我还有:

Imports DocumentFormat.OpenXml
Imports ClosedXML

但是,当我调用简单的测试代码时,

Dim workbook = New ClosedXML.Excel.XLWorkbook()
Dim worksheet = workbook.Worksheets.Add("Sample Sheet")
worksheet.Cell("A1").Value = "Hello World!"
workbook.SaveAs("HelloWorld.xlsx")

我收到错误消息:

发生了“System.IO.FileLoadException”类型的未处理异常 在 System.Windows.Forms.dll 中

附加信息:无法加载文件或程序集 'DocumentFormat.OpenXml,版本=2.7.2.0,文化=中性, PublicKeyToken=8fb06cb64d019a17' 或其依赖项之一。这 找到的程序集的清单定义与程序集不匹配 参考。 (HRESULT 异常:0x80131040)

我不知道为什么会出现这个错误。如果我写DocumentFormat.OpenXml。在我的代码中,我获得了该库中建议函数的列表,因此必须正确加载引用。

请问有人可以帮忙吗?

vb.net closedxml
3个回答
2
投票

您是否注意到,在屏幕截图中,您在 OpenXml 程序集的引用中使用版本 2.5,但异常消息引用了较新的 2.7.2?这可能是你的问题。可能您引用了 2.5,但“ClosedXML”期待 2.7.2,当它找不到时会抛出错误?

我会得到 2.7.2,更新您的参考,然后看看是否有效。


0
投票

您必须转到 nugget 并将文档 xml 引用更新为最新的 2.7,问题已修复


0
投票

将 document.openxml dll 引用添加到您的项目中,您可以通过 nuget 包管理器获取此 dll(请安装所需版本的 dll)

© www.soinside.com 2019 - 2024. All rights reserved.