2012-03-10 211 views
12

error:No se pudo cargar el archivo o ensamblado ICSharpCode.SharpZipLib ... Al usar Nuget paquete ExcelDataReader

Could not load file or assembly 'ICSharpCode.SharpZipLib, Version=0.85.5.452, Culture=neutral, PublicKeyToken=1b03e6acf1164f73' or one of its dependencies. The system cannot find the file specified.`

Pila:

[FileNotFoundException: Could not load file or assembly 'ICSharpCode.SharpZipLib, Version=0.85.5.452, Culture=neutral, PublicKeyToken=1b03e6acf1164f73' or one of its dependencies. The system cannot find the file specified.]
Excel.Core.ZipWorker.Extract(Stream fileStream) +0
Excel.ExcelOpenXmlReader.Initialize(Stream fileStream) +78

[Asp.Net MvC3 C#]

Uso el paquete NuGet ExcelDataReader Intenté simplemente abrir un archivo .xlsx guardado en el sistema de archivos. Aquí está el código utilizado:

string filePath = HttpContext.Server.MapPath("~/blank3.xlsx"); 
FileStream stream = System.IO.File.Open(filePath, FileMode.Open, FileAccess.Read); 
IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream); 

aquí es el sitio web para el paquete Nuget: http://exceldatareader.codeplex.com/

Lo que da? Esto debería funcionar sin problemas.

Respuesta

12

Me encontré con el mismo problema; para resolverlo, encontré el ensamblado apropiado de nombre fuerte en su proyecto codeplex.

Descargué el código fuente de http://exceldatareader.codeplex.com, agarré el conjunto de su directorio LIB y lo hice referencia desde mi proyecto.

+2

¿Puede ser un poco más explícito con su proceso, por favor? –

0

ICSharpCode.SharpZipLib es un ensamblado de nombre seguro. El número de versión de ensamblaje debe coincidir exactamente o de lo contrario no se carga. Por favor verifique la versión de ensamblaje.

+1

¿Dónde encontraría el montaje? No está incluido como ningún paquete o en mi archivo web.config. –

0

debido a que el DLL se .NET versión 2.0, su proyecto es más alta, si instala el paquete del gestor de paquetes Nuget, será vinculante montaje de automóviles uso de tiempo de ejecución, el archivo web.config/app.config debe gusta esto :

<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> 

1

Si lo que está consiguiendo es:

Could not load file or assembly 'ICSharpCode.SharpZipLib, Version=0.86.0.518, Culture=neutral, PublicKeyToken=1b03e6acf1164f73' or one of its dependencies. The system cannot find the file specified.

Entonces la solución es descargar el latest (o elija el version correcto para su error) ICSharpCode.SharpZipLib.dll del SharpZipLib website, y simplemente colóquelo en la carpeta donde está ubicado el Excel.dll de ExcelDataReader (no es necesario hacer referencia a él).

Cuestiones relacionadas