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

System.IO.Compression в ASP.NET VNext полная CLR

Я пытаюсь использовать System.IO.Compression.ZipArchive в библиотеке классов ASP.NET VNext в VS2015 Preview. Я добавил пакет System.IO.Compression, используя NuGet, и добавил его в мой проект .json как зависимость aspnetcore50.

Когда я пытаюсь использовать ZipArchive, intellisense говорит, что он недоступен в ASP.NET 5.0, но доступен в ASP.NET Core 5.0. Если я переключусь на использование ASP.NET Core, используя раскрывающийся список в верхней строке, тогда мой код работает так, как ожидалось, но когда я выбираю обычный ASP.NET, он не работает.

Я попытался вручную добавить его как зависимость от aspnet50 в project.json, но это не исправило его.

Мне нужно использовать полную CLR поверх Core CLR, поскольку мне нужно загружать сборки в AppDomain во время выполнения, и я считаю, что это не поддерживается в Core CLR.

Пожалуйста, может кто-нибудь объяснить, что происходит здесь, может быть, указать мне на некоторые статьи или сообщения в блогах, показать мне, как это исправить.

Update: Я думаю, что лучший способ или формулировка - ZipArchive недоступен в aspnet50, но он доступен в aspnetcore50, когда я добавляю пакет System.IO.Compression NuGet. Почему это?

4b9b3361

Ответ 1

Они только в том, что я получаю проект для компиляции и работы, делали следующее в project.json. Я не слишком хорошо знаком с библиотекой сжатия, поэтому я не тратил время на сжатие файла. Ниже вы будете пример кода, который будет компилироваться без проблем.


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

            }
        }
    }
}

Пример кода

    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");            
    }