我正在尝试使用spreadsheetlight写入excel文件,但很明显,spreadsheetlight使用的是XML 2.0,我安装了2.5。我已经取消了2.5版本并且已经为我的项目添加了2.0参考,但我仍然收到一条错误消息,告诉我我正在使用2.5版本。我的问题很简单:如何让编译器(?)使用2.0版本而不是2.5版本?
此致 阿克塞尔
答案 0 :(得分:5)
所以问题似乎是Spreadsheetlight nuget包在Nuspec中缺少必需的依赖项规范。
Install-Package DocumentFormat.OpenXml -Version 1.0.0
如果您已经安装了DocumentFormat.OpenXml并且获得了与Could not load type ‘DocumentFormat.OpenXml.Spreadsheet.SmartTags’ from assembly ‘DocumentFormat.OpenXml, Version=2.5.5631.0
类似的异常
UNinstall-Package DocumentFormat.OpenXml
检查配置文件,如果您有装配绑定重定向
<dependentAssembly>
<assemblyIdentity name="DocumentFormat.OpenXml" publicKeyToken="31bf3856ad364e35"... />
<bindingRedirect oldVersion="0.0.0.0-2.5.5631.0" newVersion="2.5.5631.0" />
</dependentAssembly>
删除此内容。
现在安装特定版本:
Install-Package DocumentFormat.OpenXml -Version 1.0.0
答案 1 :(得分:1)
Current SpreadsheetLight 3.4版需要Open XML SDK v2.0程序集。
你会找到包含所需程序集的NuGet包的Here。