net example create c# asp.net-core visual-studio-2015

c# - example - System.IO.Compression en ASP.NET VNext completo CLR



using zipfile (1)

Estoy tratando de usar System.IO.Compression.ZipArchive en una biblioteca de clase ASP.NET VNext en Vista previa VS2015. Agregué el paquete System.IO.Compression usando NuGet, y lo agregué a mi project.json como una dependencia aspnetcore50.

Cuando intento usar ZipArchive , el intellisense dice que no está disponible en ASP.NET 5.0, pero está disponible en ASP.NET Core 5.0. Si cambio a utilizar ASP.NET Core utilizando el menú desplegable en la barra superior, mi código funciona como se espera, pero cuando elijo ASP.NET normal, no funciona.

Intenté agregarlo manualmente como una dependencia de aspnet50 en project.json, pero eso no lo solucionó.

Necesito usar el CLR completo sobre el Core CLR ya que necesito cargar ensambles en el AppDomain en tiempo de ejecución, y creo que esto no es compatible con el Core CLR.

Por favor, alguien podría explicar lo que está pasando aquí, tal vez señalarme algunos artículos o publicaciones en el blog, muéstrame cómo solucionarlo.

Actualización: supongo que una mejor manera o redacción es esta: ZipArchive no está disponible en aspnet50, pero está disponible en aspnetcore50 cuando agrego el paquete System.IO.Compression NuGet. ¿Por qué es esto?


Solo la forma en que obtuve el proyecto para compilar y el trabajo fue hacer lo siguiente en el proyecto. Json. No estoy muy familiarizado con la biblioteca de compresión, así que no perdí el tiempo tratando de comprimir un archivo. A continuación encontrará un código de muestra que se compilará sin problemas.

{ "version": "1.0.0-*", "dependencies": { }, "frameworks": { "aspnet50": { "dependencies": { }, "frameworkAssemblies": { "System.IO.Compression": "4.0.0.0" } }, "aspnetcore50": { "dependencies": { "System.Runtime": "4.0.20-beta-22231", "System.IO.Compression.ZipFile": "4.0.0-beta-22231", "System.IO": "4.0.10-beta-22231", "System.IO.FileSystem": "4.0.0-beta-22231" } } } }

Código de muestra

public static void ZipFile(string path) { var data = new MemoryStream(File.ReadAllBytes(path)); var zip = new ZipArchive(data, ZipArchiveMode.Create,false); zip.CreateEntry(path + ".zip"); }