C# 无法加载文件或程序集ICSharpCode.SharpZipLib。。。使用nuGet软件包ExcelDataReader时

C# 无法加载文件或程序集ICSharpCode.SharpZipLib。。。使用nuGet软件包ExcelDataReader时,c#,asp.net-mvc-3,nuget,sharpziplib,exceldatareader,C#,Asp.net Mvc 3,Nuget,Sharpziplib,Exceldatareader,错误: 无法加载文件或程序集“ICSharpCode.SharpZipLib,版本=0.85.5.452,区域性=中性,PublicKeyToken=1b03e6acf1164f73”或其依赖项之一。系统找不到指定的文件` 堆栈: [FileNotFoundException:无法加载文件或程序集'ICSharpCode.SharpZipLib,版本=0.85.5.452,区域性=中性,PublicKeyToken=1b03e6acf1164f73'或其依赖项之一。系统找不到指定的文件。] Ex

错误:

无法加载文件或程序集“ICSharpCode.SharpZipLib,版本=0.85.5.452,区域性=中性,PublicKeyToken=1b03e6acf1164f73”或其依赖项之一。系统找不到指定的文件`

堆栈:

[FileNotFoundException:无法加载文件或程序集'ICSharpCode.SharpZipLib,版本=0.85.5.452,区域性=中性,PublicKeyToken=1b03e6acf1164f73'或其依赖项之一。系统找不到指定的文件。]
Excel.Core.ZipWorker.Extract(流文件流)+0
Excel.ExcelOpenXmlReader.Initialize(流文件流)+78

[Asp.Net Mvc3 C#]

使用NuGet包ExcelDataReader,我试图简单地打开保存在文件系统上的.xlsx文件。以下是使用的代码:

string filePath = HttpContext.Server.MapPath("~/blank3.xlsx");
FileStream stream = System.IO.File.Open(filePath, FileMode.Open, FileAccess.Read);
IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
以下是nuget软件包的网站:


有什么好处?这应该可以正常工作。

ICSharpCode.SharpZipLib是强名称程序集。程序集版本号必须完全匹配,否则无法加载。请检查装配版本。

我遇到了相同的问题;为了解决这个问题,我在他们的codeplex项目中找到了合适的强名称程序集

从下载源代码,从LIB目录抓取程序集,并从我的项目中引用它

编辑2021年5月

看起来引用的链接很快就会消失;下面可能是最好(也更容易)的方法。

因为dll是.net 2.0版,所以您的项目更高, 如果从nuget软件包管理器安装软件包, 它将自动使用运行时程序集绑定,web.config/app.config文件应如下所示:

  <runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <dependentAssembly>
    <assemblyIdentity name="ICSharpCode.SharpZipLib" publicKeyToken="1b03e6acf1164f73" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-0.85.4.369" newVersion="0.85.4.369" />
  </dependentAssembly>
</assemblyBinding>


如果您得到的是:

无法加载文件或程序集“ICSharpCode.SharpZipLib,版本=0.86.0.518,区域性=中性,PublicKeyToken=1b03e6acf1164f73”或其依赖项之一。系统找不到指定的文件


然后,解决方案是从SharpZipLib下载(或为您的错误选择正确的)
ICSharpCode.SharpZipLib.dll
,然后将其放在ExcelDataReader的
Excel.dll
所在的文件夹中(无需引用它)。

在哪里可以找到程序集?它不包括在任何包中或我的web.config文件中。请您对您的过程更明确一点好吗?哇哦,非常感谢,您只节省了一天!这正是我想要的。导游的准确方式非常完美,解决了我的问题。