私は最終的にAzureで動作するASPNET Core/EF Core/MVC 6 Webサイトを構築しています。私は前に遭遇したことのない依存関係DLLを含む奇妙な問題にぶち当たっています。System.IO.Compression DLLが見つからない可能性のあるバージョンの衝突
解決策はいくつかのプロジェクトで構成されています。それらのうちのいくつかはZipArchiveを介してzipファイルを操作するので、System.IO.Compressionに依存します。ソリューションは問題なくコンパイルされます。
ただし、System.IO.Compression DLLは最終的なbinディレクトリにコピーされませんでした。そのため、サイト内でそのアセンブリ内のルーチンにアクセスしようとするとクラッシュすることがありました。
System.IO.Compression.dllを最終的なbinディレクトリに手動でコピーすることで、この問題を "解決"しました。サイトは私の開発システム上で正常に動作します。
サイトをAzureに公開すると、System.IO.Compression.dllが展開されず、欠落しているアセンブリにアクセスしようとするとAzureサイトがクラッシュします。
不足しているDLLをAzureに手作業でコピーできるかどうかはわかりませんが、それが1つの解決策だと思います。
しかし、これはすべてkludgyを感じ、私は何かが欠けているようです。
私は戻って、各プロジェクトの参考文献を見て、奇妙なことに気づいた。
"補助"プロジェクト - ConnellData - 参照を表示すると、期待どおりSystem.IO.Compression、v4.1.0への依存関係が表示されます。
ConnellDataに依存する「メイン」プロジェクトを見て、ConnellDataの参照を展開すると、System.IO.Compressionに依存しますが、バージョン4.0.10に依存します。
これはDLLの問題に関連しているかどうかわかりませんが、そのように思われます。
この問題を解決する方法についてのご意見やご提案は大変ありがたいです。
私が知っているように、dllが見つからない場合はAzureにアップロードしてください。問題を解決するのに役立ちます。しかし、重要なことは、DLLの競合を修正することです。 –