2016-04-06 30 views
3

私はWindows Server 2012 r2を実​​行しているマシンで開発していますが、デフォルトでは4.5フレームワークバージョンを使用する必要がありますが、ZipArchiveクラスを使用しようとすると、4.5からのみ利用できます。私はこの単純なコードを実行する場合は、ネットフレームワーク、:ZipArchiveクラスは使用できません

Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.34248 
:私はフレームワークについてこれを得たトレースから

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

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

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

} 
%> 

私はこのエラーを取得します

iisマネージャでフレームワークclrのバージョンを変更しようとしましたが、唯一のオプションは2.0と4.0です。 私は間違っていますか? :/

答えて

1

ASPXページは4.5のものではなく、4.0のDLLのみを参照できるように見え、新しいZipFileとZipArchiveのものは4.5フレームワークで4.5に特有のものです。その背後にある細部は確かではありませんが、それは動作するように見えます。

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

それが働いた:この問題を回避し、あなたのASPXファイルでこれらのクラスを使用して、web.configファイルでのごsystem.web/compilationセクションを行うには、次を追加するには

!この解決策を知っておくとよい – Fehu

関連する問題