Asp.net CS0246:类型或命名空间名称';ZipArchive';找不到dll,但dll位于GAC中

Asp.net CS0246:类型或命名空间名称';ZipArchive';找不到dll,但dll位于GAC中,asp.net,dll,gac,Asp.net,Dll,Gac,这个错误有很多问题,但对我来说,问题不在VisualStudio 2017的开发机器上,而是在部署机器上。这两台机器都安装了.Net 4.5。该项目是.NET4.5。项目中的引用是可以的,我可以使用ZipArchive类进行测试 在源代码中我有一个 using System.IO.Compression;//GZipStream, ZipArchive 在这两台机器上,我都找到了System.IO.Compression的3个dll,不是在C:\Windows\assembly中,而是在这样

这个错误有很多问题,但对我来说,问题不在VisualStudio 2017的开发机器上,而是在部署机器上。这两台机器都安装了.Net 4.5。该项目是.NET4.5。项目中的引用是可以的,我可以使用
ZipArchive
类进行测试

在源代码中我有一个

using System.IO.Compression;//GZipStream, ZipArchive 
在这两台机器上,我都找到了System.IO.Compression的3个dll,不是在C:\Windows\assembly中,而是在这样的目录中,应该可以:

C:\Windows\Microsoft.NET\assembly\GAC\u MSIL\System.IO.Compression\v4.0\u 4.0.0\u b77a5c561934e089

在web.config中有一行:

<add assembly="System.IO.Compression, Version=4.0.0.0, 
     Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
在生产计算机上的IIS中,.Net v4.0上的应用程序池

在那台机器上,在Internet Explorer的“详细编译器输出”下,我看到了许多指向上述目录路径的选项,例如:

/R:"C:\Windows\Microsoft.Net\assembly\GAC_32\System.Data\
              v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll" 

/R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Data.Services\
                v4.0_4.0.0.0__b77a5c561934e089\System.Data.Services.dll" 

那么,为什么我可以在开发机器上使用ZipArchive类,但在部署机器上却出现了
找不到
的错误,以及如何解决这个问题呢?请帮助

我通过将依赖项从网站项目移到类库项目,解决了自己的问题。不过,如果知道为什么这是必要的,我还是会很高兴的

/R:"C:\Windows\Microsoft.Net\assembly\GAC_32\System.Data\
              v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll" 

/R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Data.Services\
                v4.0_4.0.0.0__b77a5c561934e089\System.Data.Services.dll"