System.IO.Compression em ASP.NET vNext CLR completo

votos
10

Eu estou tentando usar System.IO.Compression.ZipArchiveem uma biblioteca de classes ASP.NET vNext em VS2015 Preview. Eu adicionei o System.IO.Compressionpacote usando NuGet, e acrescentou que a minha project.json como uma dependência aspnetcore50.

Quando tento usar o ZipArchive, o intellisense diz não está disponível em ASP.NET 5.0, mas ele está disponível em ASP.NET Núcleo 5.0. Se eu mudar para usar ASP.NET Núcleo usando o drop-down na barra superior, então o meu código funciona como esperado, mas quando eu escolher ASP.NET normal, ele não funciona.

Eu tentei adicionar manualmente-lo como uma dependência para aspnet50 na project.json, mas isso não corrigi-lo.

Eu preciso usar o CLR total sobre o Core CLR como eu preciso carregar montagens no AppDomainem tempo de execução, e eu acredito que isso não é suportado no CLR Core.

Por favor, alguém pode explicar o que está acontecendo aqui, talvez me aponte para alguns artigos ou posts, mostre-me como consertar isso.

Update: Eu acho que uma maneira melhor ou texto isto é - a ZipArchivenão está disponível em aspnet50, mas ele está disponível em aspnetcore50 quando eu adiciono o System.IO.Compressionpacote NuGet. Por que é isso?

Publicado 25/11/2014 em 10:00
fonte usuário
Em outras línguas...                            


1 respostas

votos
13

Eles única maneira que eu recebo o projeto para compilar e trabalho estava fazendo o seguinte no project.json. Eu não estou muito familiarizado com a biblioteca de compressão para que eu não gastar tempo tentando compactar um arquivo. Abaixo você um código de exemplo que irá compilar com nenhum problema.


{
    "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 amostra

    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");            
    }
Respondeu 02/12/2014 em 21:51
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more