トップ回答者
ClosedXMLを導入し実行するとセクション侵入前にエラーが発生した

質問
-
ClosedXMLを導入しExcel形式のファイル出力を行うプログラムを構築しています
ビルドも正常に通りいざ実行すると、当該closedXMLを使用しているファンクションの侵入前にエラーが発生しました
『FileLoadException はハンドルされませんでした。型:'System.IO.FileLoadException' のハンドルされていない例外が 発生しました 'DocumentFormat.OpenXml, 2.5.5631.0, Dulture=neutral, PublicKeyToken=31bf3856ad364e35'、またはその依存関係の1つが読み込めませんでした。見つかったアセンブリのマニフェスト定義はアセンブリ参照に一致しません。(HRESULTからの例外:0x80131040)』
Microfost Visual Studio Professional 2015 Version 14.0.23107.0 D14REL
Microsoft .NET Framework Version 4.6.00081
ClosedXML 0.87.0.0 ランタイムバージョン v4.0.30319
DocumentFormat.OpenXML 0.0.1.0 ラインタイムバージョン v4.0.30319
トラブルシューティングには『ファイルが有効な.NET Frameworkアセンブリであることを確認します。』
等が記載されていますが、原因がさっぱりです。
どなたか対応方法をご存知の方、ご教授願います
回答
-
行った手順を具体的に書いていただけますでしょうか。前回のスレッドによるとメイン開発はオフライン環境だそうなので、オンライン環境とオフライン環境でのそれぞれの作業を。
気になるのはDocumentFormat.OpenXml.dllのバージョンです。ClosedXML(今日時点の最新版v0.87.1)をNuGetでインストールしようとすると、今日の時点では自動的にDocumentFormat.OpenXml.dllのv2.5.0またはv2.7.1(「依存関係の動作」の設定によって異なる)がインストールされるようですが、お手元のはv0.0.1.0だそうですね。
以前、ClosedXMLインストール後に改めてDocumentFormat.OpenXmlを手動でインストールされて起動できなかった方がいらっしゃいましたが…。
すべての返信
-
> 当該closedXMLを使用しているファンクションの侵入前にエラーが発生しました
「ファンクションの侵入前」というのはどういう意味でしょう? 簡略化したサンプルを作ってそのコードをアップし、どの行でエラーが出るのか示せないですか?
ClosedXML の .dll は当然入手して参照設定に加えているのですよね?
Open XML の .dll はどうしました? エラーメッセージを見る限りそれが読み込めないということのように見えます。
ClosedXML のサイトの Requirements に書いてあるように "To use ClosedXML you must reference the DocumentFormat.OpenXml.dll" ということだそうです。
- 編集済み SurferOnWww 2017年6月8日 1:33 誤字訂正
- 回答の候補に設定 立花楓Microsoft employee, Moderator 2017年6月8日 4:33
-
行った手順を具体的に書いていただけますでしょうか。前回のスレッドによるとメイン開発はオフライン環境だそうなので、オンライン環境とオフライン環境でのそれぞれの作業を。
気になるのはDocumentFormat.OpenXml.dllのバージョンです。ClosedXML(今日時点の最新版v0.87.1)をNuGetでインストールしようとすると、今日の時点では自動的にDocumentFormat.OpenXml.dllのv2.5.0またはv2.7.1(「依存関係の動作」の設定によって異なる)がインストールされるようですが、お手元のはv0.0.1.0だそうですね。
以前、ClosedXMLインストール後に改めてDocumentFormat.OpenXmlを手動でインストールされて起動できなかった方がいらっしゃいましたが…。