gpt4 book ai didi

c# - 不能使用 ZipArchive 类

转载 作者:行者123 更新时间:2023-11-30 17:38:39 30 4
gpt4 key购买 nike

我在运行 Windows Server 2012 r2 的机器上开发,默认情况下必须使用 4.5 框架版本,但是当我尝试使用 ZipArchive 类时,如果我运行,它只能从 4.5 .net 框架中使用这个简单的代码:

<%@ Page Language="C#" ResponseEncoding="utf-8" Trace="true" %>
<%@ Import Namespace="System.IO.Compression" %>
<%
... variables etc ...

using (ZipArchive archive = ZipFile.OpenRead(zipPath))
{

}
%>

我收到这个错误:

CS0246: The type or namespace name 'ZipArchive' could not be found (are you missing a using directive or an assembly reference?)

从跟踪中我得到了关于框架的信息:

Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.34248

我尝试在 iis 管理器中更改框架 clr 版本,但唯一的选项是 2.0 和 4.0。我做错了什么? :/

最佳答案

看起来 ASPX 页面只能引用 4.0 的 DLL,不能引用 4.5 的,新的 ZipFile 和 ZipArchive 东西只在 4.5 框架中并且特定于 4.5。不确定其背后的细节,但这就是它的行为方式。

要解决这个问题并在您的 ASPX 文件中使用这些类,请在 web.config 中的 system.web/compilation 部分添加以下内容:

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

关于c# - 不能使用 ZipArchive 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36457853/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com