無法載入檔案或組件 'System.IO.Compression' 或其相依性的其中之一。
曾經在拿取檔案的時候發生過這個問題
我不清楚究竟是版本的問題還是(應該不是版本的問題,因為我從我的夥伴手中拿它可以跑的程式,修改Config後仍然有問題)
主要的問題可能是因為package的問題,時常因為package跟參考以及nuget和WebConfig有不同而出現版本問題
遇到上述問題的話可能都要檢查以上三個檔案
建議是直接複製查詢 然後把「你認為不該存在的」參考給移除。
我自己本人是只留下參考中的檔案,是會把package和WebConfig的依賴給註解後再使用nuget重新安裝。
題外話抱怨
package.Config貌似就是參考的引入,但是不知道為啥連那邊都會跟參考互相衝突,微軟真的不打算修一下逆?
補充說明:
比如說遇到這個錯誤
上面有寫明說
Newtonsoft.Json
culture = neutral
publicKeyToken = 30ad4fe6b2a6aeed
version = 6.0.0.0
就可以在web.config中寫這段加入
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed"/>
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0"/>
</dependentAssembly>
oldVersion - 那些版號要對應 - 可以用 - 來包含版號區間。
注意,newVersion不代表一定比oldVersion高。換句話說也有可能高版本全部要用低版本的dll(不過這種情景比較少 ,因為一般都是高版本會向下兼容)
不過這種方法不太建議,一律建議使用最上面的方法
參考 http://shaurong.blogspot.com/2020/02/systemiocompression.html
留言
張貼留言