Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 安装OpenXML2.0_C#_Xml_Openxml Sdk_Nuget Package_Spreadsheetlight - Fatal编程技术网

C# 安装OpenXML2.0

C# 安装OpenXML2.0,c#,xml,openxml-sdk,nuget-package,spreadsheetlight,C#,Xml,Openxml Sdk,Nuget Package,Spreadsheetlight,我试图使用电子表格来写入excel文件,但显然电子表格使用XML 2.0,我已经安装了2.5。我已经取消安装了2.5版本,并将2.0引用添加到我的项目中,但仍然收到一条错误消息,告诉我正在使用2.5版本。我的问题很简单:如何让编译器(?)使用2.0版本而不是2.5版本 诚恳 Axel因此,问题似乎是Spreadsheetlight nuget软件包在Nuspec中缺少所需的依赖项规范 安装软件包DocumentFormat.OpenXml-版本1.0.0 如果您已经安装了DocumentFor

我试图使用电子表格来写入excel文件,但显然电子表格使用XML 2.0,我已经安装了2.5。我已经取消安装了2.5版本,并将2.0引用添加到我的项目中,但仍然收到一条错误消息,告诉我正在使用2.5版本。我的问题很简单:如何让编译器(?)使用2.0版本而不是2.5版本

诚恳
Axel

因此,问题似乎是Spreadsheetlight nuget软件包在Nuspec中缺少所需的依赖项规范

安装软件包DocumentFormat.OpenXml-版本1.0.0


如果您已经安装了DocumentFormat.OpenXml,并且遇到类似于
的异常,则无法从程序集“DocumentFormat.OpenXml.Spreadsheet.SmartTags”加载类型“DocumentFormat.OpenXml,Version=2.5.5631.0

卸载包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>


当前的电子表格灯版本3.4需要开放式XML SDK v2.0程序集


您将在包含所需程序集的NuGet软件包中找到。您是否尝试取消引用旧sdk,清理解决方案并在添加2.0后重建它?我不确定您的意思是我应该取消引用?我在“addreference”中的“Assemblies”选项卡中取消了System.XML的标记,因此只标记了我添加的新内容,但这没有帮助。清理解决方案不是我尝试过的事情,人们能做到这一点而不冒数据丢失的风险吗?抱歉,应该更清楚一些。我指的是删除名称空间并重建。但是,我认为添加System.XML不能解决您的问题。如果您可以从参考中找到
DocumentFormat.OpenXml
dll并将其添加到您的解决方案中,那么在安装2.0SDK之后,我认为编译器不会抛出任何错误。请参阅使用命名空间
DocumentFormat.OpenXml
删除命名空间?对不起,我一点也不懂。自从我使用2.5版本(显然,SpreadSheetLight可以读取,但不能使用2.5写入)以来,我已经提到了名称空间“使用DocumentFormat.OpenXml”。但是你的意思是我应该删除它(以及所有依赖于它的代码),重建项目,然后再次添加它吗?如果你已经提到DocumentFormat.Openxml,那么你的应用程序可能仍然引用旧的sdk。尝试在添加对DocumentFormat.OpenXml的新引用后重新构建解决方案,我认为这应该可以解决编译错误。