2015-02-23 118 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