首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >System.IO.Compression in ASP.NET VNext full CLR

System.IO.Compression in ASP.NET VNext full CLR
EN

Stack Overflow用户
提问于 2014-11-25 10:00:11
回答 1查看 2.3K关注 0票数 10

我试图在System.IO.Compression.ZipArchive预览版的ASP.NET VNext类库中使用VS2015。我使用NuGet添加了NuGet包,它将它作为aspnetcore50依赖项添加到我的project.json中。

当我尝试使用ZipArchive时,intellisense说在ASP.NET 5.0中不可用,但在ASP.NET Core5.0中是可用的。如果我切换到使用ASP.NET核心,使用顶部栏中的下拉列表,那么我的代码就像预期的那样工作,但是当我选择普通的ASP.NET时,它就不能工作了。

我尝试将它作为依赖项添加到aspnet50中的project.json中,但这并没有解决这个问题。

我需要在核心CLR之上使用完整的CLR,因为我需要在运行时将程序集加载到AppDomain中,而且我相信在Core中不支持这一点。

请有人解释一下这里发生了什么,也许可以告诉我一些文章或博客文章,告诉我如何解决这个问题。

更新:--我想这是一个更好的方法或措辞-- ZipArchive在aspnet50中不可用,但是当我添加System.IO.Compression NuGet包时,它在aspnetcore50中是可用的。为什么会这样呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-02 21:51:54

我让项目编译和工作的唯一方法是在project.json中执行以下操作。我对压缩库不太熟悉,所以我没有花时间压缩文件。下面是一个没有问题编译的示例代码。

代码语言:javascript
复制
{
    "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"

            }
        }
    }
}

样本码

代码语言:javascript
复制
    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");            
    }
票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27123649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档