Подтвердить что ты не робот

Не удалось загрузить файл или сборку ICSharpCode.SharpZipLib... При использовании пакета nuGet ExcelDataReader

Ошибка:

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

Stack

[FileNotFoundException: не удалось загрузить файл или сборку ICSharpCode.SharpZipLib, Version = 0.85.5.452, Culture = neutral, PublicKeyToken = 1b03e6acf1164f73 'или одну из его зависимостей. Система не может найти указанный файл.]
   Excel.Core.ZipWorker.Extract(поток fileStream) +0
   Excel.ExcelOpenXmlReader.Initialize(поток fileStream) +78

[Asp.Net Mvc3 С#]

Используя пакет 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/

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

4b9b3361

Ответ 1

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

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

Ответ 2

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

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

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

Ответ 3

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

Ответ 4

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