usar - ziparchive c#
Se instaló.Net 4.5 pero no se puede usar la clase ZipFile en Visual C# (7)
En mi caso, necesitaba eliminar manualmente todas las referencias de dll que comenzaban con System.IO.Compression y luego agregar una por una las necesarias ( System.IO.Compression.FileSystem , etc.) aunque solo escribí una única instrucción de uso
using System.IO.Compression;
Espero que esto ayude a alguien
Soy un novato en la programación de Visual Studio.
Recientemente actualicé .Net 4.0 a 4.5 para usar la clase ZipFile en System.IO.Compression, pero después de la instalación completada, Visual Studio (estoy usando 2012) aún no puede reconocer ZipFile como nombre de clase.
Me he asegurado de que .Net 4.5 aparezca en la lista de programas del Panel de control y mi solución C # establece .Net Framework 4 como el marco de destino.
¿Podría alguien ayudarme a resolver esto?
Necesita cambiar el marco de destino del proyecto actual de .Net 4 a .Net 4.5.
Para Windows Phone 8.1, use NuGet para agregar el paquete Microsoft Compression a su proyecto y hacer referencia a él.
Si tenía un proyecto WP8 anterior, es posible que haya estado utilizando un paquete diferente que crearía conflictos con el archivo DLL System.IO.Compression que forma parte de .NET 4.5 que viene con WP8.1. Debe deshacerse de eso y usar Microsoft Compression, que funciona en armonía con .NET 4.5. ¡Así es como llegué aquí!
Para aclarar aún más las respuestas anteriores, a continuación se explica cómo agregar las referencias manualmente:
<configuration>
<system.web>
<compilation targetFramework="4.5">
<assemblies>
<add assembly="System.IO.Compression, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
<add assembly="System.IO.Compression.FileSystem, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
</assemblies>
</compilation>
</system.web>
</configuration>
Los archivos se pueden encontrar en C: / Windows / Microsoft.NET / assembly / GAC_MSIL / y las subcarpetas también contienen la información necesaria sobre la versión, la cultura y PublicKeyToken.
También necesita hacer referencia al ensamblado System.IO.Compression.FileSystem.dll.
Nuevas funciones en .NET 4.5
Mejoras de compresión de cremallera para reducir el tamaño de un archivo comprimido. Vea el espacio de nombres System.IO.Compression.
Agregue el ensamblado System.IO.Compression como referencia para su proyecto. También es posible que desee hacer referencia al ensamblado System.IO.Compression.FileSystem para acceder a tres métodos de extensión (de la clase ZipFileExtensions) para la clase ZipArchive: CreateEntryFromFile, CreateEntryFromFile y ExtractToDirectory. Estos métodos de extensión le permiten comprimir y descomprimir el contenido de la entrada en un archivo.
Muestra
const string zipFilePath = @"C:/apps/Sample Pictures.zip";
using (FileStream zipFileToOpen = new FileStream(zipFilePath, FileMode.Open))
using (ZipArchive archive = new ZipArchive(zipFileToOpen, ZipArchiveMode.Read)) {
foreach (var zipArchiveEntry in archive.Entries)
Console.WriteLine(
"FullName of the Zip Archive Entry: {0}", zipArchiveEntry.FullName
);
}
Referencias
http://msdn.microsoft.com/en-us/library/ms171868.aspx
http://www.tugberkugurlu.com/archive/net-4-5-to-support-zip-file-manipulation-out-of-the-box
Vea la clase ZipFile en MSDN. Muestra que la versión del marco requerido es 4.5. Una vez que la versión del marco esté reparada, verifique que haya agregado una referencia al ensamblado System.IO.Compression.FileSystem.dll
y haya agregado una directiva System.IO.Compression
utilizando su clase.