エラー:
ファイルまたはアセンブリ 'ICSharpCode.SharpZipLib、Version = 0.85.5.452、Culture = neutral、PublicKeyToken = 1b03e6acf1164f73'またはその依存関係の1つを読み込めませんでした。指定されたファイルが見つかりません。`
スタック:
[FileNotFoundException:ファイルまたはアセンブリ 'ICSharpCode.SharpZipLib、Version = 0.85.5.452、Culture = neutral、PublicKeyToken = 1b03e6acf1164f73'またはその依存関係の1つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。]
Excel.Core.ZipWorker.Extract(Stream fileStream)+0
Excel.ExcelOpenXmlReader.Initialize(Stream fileStream)+78
[Asp.Net Mvc3 C#]
NuGetパッケージExcelDataReaderを使用して、ファイルシステムに保存された.xlsxファイルを単純に開こうとしました。使用されるコードは次のとおりです。
string filePath = HttpContext.Server.MapPath("~/blank3.xlsx");
FileStream stream = System.IO.File.Open(filePath, FileMode.Open, FileAccess.Read);
IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
NugetパッケージのWebサイトは次のとおりです。 http://exceldatareader.codeplex.com/
何ができますか?これは問題なく動作するはずです。
私は同じ問題に遭遇しました。解決するために、私は彼らのcodeplexプロジェクトで適切な厳密名のアセンブリを見つけました。
http://exceldatareader.codeplex.com からソースコードをダウンロードし、LIBディレクトリからアセンブリを取得して、私のプロジェクトから参照しました。
あなたが得ているものは:
ファイルまたはアセンブリ 'ICSharpCode.SharpZipLib、Version = 0.86.0.518、Culture = neutral、PublicKeyToken = 1b03e6acf1164f73'またはその依存関係の1つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。
次に、解決策は 最新 をダウンロードすることです(またはエラーに応じて適切な バージョン を選択します)ICSharpCode.SharpZipLib.dll
SharpZipLib website から、ExcelDataReaderのExcel.dll
が配置されています(参照する必要はありません)。
dllは.netバージョン2.0であるため、プロジェクトはより高く、nugetパッケージマネージャーからパッケージをインストールすると、ランタイムアセンブリバインディングが自動的に使用され、web.config/app.configファイルは次のようになります。
<runtime>
<assemblyBinding xmlns="urn:schemas-Microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="ICSharpCode.SharpZipLib" publicKeyToken="1b03e6acf1164f73" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-0.85.4.369" newVersion="0.85.4.369" />
</dependentAssembly>
</assemblyBinding>
ICSharpCode.SharpZipLibは、厳密な名前のアセンブリです。アセンブリのバージョン番号は完全に一致する必要があります。一致しない場合、ロードに失敗します。アセンブリのバージョンを確認してください。