2015-02-23 67 views
0

我有一个VS2013 vb.net项目。类型ZipArchive未在App_Code文件夹中定义未定义

我希望使用zip库。我有这两个引用设置:

enter image description here

我有以下代码:

enter image description here

一切都被设置为.NET 4.5

是否有某种方式来“强制” VS2013识别压缩库?有巨大的数字,如果不是在互联网上这个问题的大量例子!他们都是EXACLTY以上完全相同的问题在互联网上,并在每个案例中,他们建议引用上述2 4.5库和问题消失。

但是,在互联网上没有任何现有问题没有跟进当上述参考设置,我们仍然有一个类型失败!发生

失败,如果我的项目设置为4.51,或.NET 4.5

VS2013,vb.net。

我的项目被强制为x64,但更改为x32并没有改变任何东西。

编辑: 上述示例代码放置在一个asp.net App_Code文件夹(一个web项目)中。我注意到,如果我将代码从该文件夹中取出并直接将代码放在一个表单(aspx.vb)中,那么代码就可以工作。所以限制或问题是App_Code。我有一个结果改变了标题,并补充说:“当App_Code文件夹中)。

想法吗?

+0

只做了一个文件|新项目,并按预期工作。尝试做相同的和不同的proj文件?否则,你的机器上可能会出现一些问题? – 2015-02-23 04:33:54

+0

哼,我创建了一个空白的web项目,如果代码模块放在App_code中,问题仍然存在。如果我把代码放在web表单aspx.vb模块中,那么它就可以工作。所以我想我可以改变这个问题,因为如何在App_Code文件夹中使用Zip库代码? (相关模块被设置为编译)。 – 2015-02-23 05:36:03

+0

我测试了一个VB控制台应用程序 – 2015-02-23 05:44:19

回答

2

同样的问题...解决了手动添加引用

<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" /> 
在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> 
    </compilation> 
<system.web> 

我希望它为你工作了:d

+0

事实上,这是正确的答案!简单的问题是,如果创建.net项目而不是网站,那么APP_FOLDER中的代码不会接收并正确继承项目引用。解决方案是将APP_FOLDER重命名为其他内容,或直接将引用直接添加到web.config文件中,如同您已完成!所以你的回答是正确的,只有一个解决这个问题。当然问题是APP_CODE文件夹。 – 2015-03-19 02:52:28

0

检查关于压缩中的引用

see references