Не удалось загрузить файл или сборку ICSharpCode.SharpZipLib ... При использовании пакета nuGet ExcelDataReader - PullRequest
14 голосов
/ 10 марта 2012

Ошибка:

Не удалось загрузить файл или сборку 'ICSharpCode.SharpZipLib, версия = 0.85.5.452, Culture = нейтральный, PublicKeyToken = 1b03e6acf1164f73' или одна из его зависимостей.Системе не удается найти указанный файл.

Стек:

[FileNotFoundException: не удалось загрузить файл или сборку 'ICSharpCode.SharpZipLib, версия = 0.85.5.452, культура= нейтральный, PublicKeyToken = 1b03e6acf1164f73 'или одна из его зависимостей.Системе не удается найти указанный файл.]
Excel.Core.ZipWorker.Extract (Stream fileStream) + 0
Excel.ExcelOpenXmlReader.Initialize (Stream fileStream) + 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: http://exceldatareader.codeplex.com/

Что дает?Это должно работать безотказно.

Ответы [ 4 ]

15 голосов
/ 26 марта 2013

Я столкнулся с той же проблемой;чтобы найти решение, я нашел подходящую сборку со строгим именем в их проекте codeplex.

Загруженный исходный код из http://exceldatareader.codeplex.com, взял сборку из их каталога LIB и сослался на нее из моего проекта.

3 голосов
/ 23 марта 2017

Если вы получаете:

Не удалось загрузить файл или сборку 'ICSharpCode.SharpZipLib, версия = 0.86.0.518, культура = нейтральная, PublicKeyToken = 1b03e6acf1164f73' или одна из ее зависимостей. Система не может найти указанный файл.

Тогда решение состоит в том, чтобы загрузить последний (или выбрать версию для вашей ошибки) ICSharpCode.SharpZipLib.dll с веб-сайта SharpZipLib и просто разместить он находится в папке, где находится ExcelDataReader Excel.dll (нет необходимости ссылаться на него).

1 голос
/ 22 августа 2014

потому что 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>

0 голосов
/ 10 марта 2012

ICSharpCode.SharpZipLib - это сборка со строгим именем. Номер версии сборки должен точно совпадать, иначе он не сможет загрузиться. Пожалуйста, проверьте версию сборки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...