我正在开发一台运行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。 我做错了什么? :/
答案 0 :(得分:1)
看起来ASPX页面只能引用4.0 DLL而不是4.5,而新的ZipFile和ZipArchive东西只在4.5框架中,特定于4.5。不确定背后的细节,但这只是它的表现。
要解决此问题并在ASPX文件中使用这些类,请在web.config中添加以下内容{/ 1}}部分:
system.web/compilation