Vb.net 无法加载文件或程序集';DocumentFormat.OpenXml-再次

Vb.net 无法加载文件或程序集';DocumentFormat.OpenXml-再次,vb.net,closedxml,Vb.net,Closedxml,这个问题似乎非常流行,我已经读过十几个类似的问题,但都提供了相同的解决方案(安装并引用DocumentFormat.OpenXml 2.5),我已经这样做了,但仍然不起作用 我使用的是Visual Studio 2012,在我的项目中引用了ClosedXML版本0.93及其依赖项DocumentFormat.OpenXML版本2.5。这两个.dll文件都存储在我的项目的.exe文件旁边。Visual Studio似乎可以看到以下引用: 在我的代码顶部,我还有: Imports Document

这个问题似乎非常流行,我已经读过十几个类似的问题,但都提供了相同的解决方案(安装并引用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的异常:0x8013100)

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


有人能帮忙吗?

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


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

你能编辑你的问题来描述你尝试过但没有成功的解决方案吗?这将避免有人浪费时间再次发布相同的解决方案。我的最后一段是关于该解决方案的。我会修改这个问题使它更清楚。对不起。我错过了,我的错误。使用NuGet管理您的库。它将解决这样的问题。(+1)是的,就是这样,版本冲突,加载的程序集和声明的程序集之间的不兼容问题。正确。ClosedXML 0.93需要OpenXML 2.7.2或更高版本。使用NuGet应该可以解决这些问题。