致电System.IO.Compression.Zipfile.CreateFromDirectory
时遇到以下错误:
但是,我的项目确实包含错误中提到的程序集的第一个版本(见下面的屏幕截图)。
搜索后,我发现此错误可能是由于没有System.IO.Compression.FileSystem
程序集而引起的,该程序集是:
我尝试使用/删除 System.IO.Compression.Zipfile
程序集(我发现它只是与System.IO.Compression.FileSystem
的“链接”),更改了System.IO.Compression
版本,但没有任何效果。
该项目在.NET Framework 4.6.1下运行。
有谁知道如何解决这个问题?谢谢!
答案 0 :(得分:2)
您可以在应用程序的配置文件中手动添加以下绑定重定向:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.IO.Compression.ZipFile" publicKeyToken="b77a5c561934e089" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
更改此
<runtime>
<AppContextSwitchOverrides value="Switch.System.IO.Compression.ZipFile.UseBackslash=true" />
</runtime>
收件人
<runtime>
<AppContextSwitchOverrides value="Switch.System.IO.Compression.ZipFile.UseBackslash=false" />
</runtime>
答案 1 :(得分:0)
就我而言,我在web.config runtime / assemblyBinding节点中添加了以下内容:
<dependentAssembly>
<assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.0.0.0" />
</dependentAssembly>