33

C#.net Windows デスクトップ アプリケーションを使用しています。これらのアプリケーションを他のプラットフォームでも実行したいと考えています。そのため、クロスコンパイラとして Mono 2.10 を使用しています。実行中に、予期せず、次のようなエラーメッセージを言ってアプリケーションが終了します

エラー: 選択したフォルダを開けませんでした。
ファイルまたはアセンブリ 'DocumentFormat.OpenXml.dll,version=2.0.5022.0, culture=neutral, PublicKeyToken=31bf3856ad364e35' またはその依存関係の 1 つを読み込めませんでした。

ここで何が問題なのかわかりません... c:\program files\open xml sdk\v2\lib\DocumentFormat.OpenXml.dll に openxml sdk2.0 をインストールしました。

また、テスト目的で同じ場所にアプリケーション eXe を配置します...

この問題を解決するために私を導いてください...

4

10 に答える 10

22

私自身これに慣れていないので、私がやったことは次のとおりです。

MS Visual Studio 2010 Pro を使用しています。

  1. OpenXML SDK をダウンロードしてインストールする
  2. Visual Studio のプロジェクト内で、[プロジェクト]、[参照の追加] の順に選択します。
  3. 「参照」タブを選択
  4. "Look in:" プルダウンで C:\Program Files(x86)\Open XML SDK\V2.0\lib に移動し、"DocumentFormat.OpenXml.dll" を選択します。
  5. ヒット OK
  6. 「ソリューション エクスプローラー」(私にとっては右側) で、「参照」フォルダーに DocumentFormat.OpenXML ライブラリが表示されるようになりました。
  7. それを右クリックして、[プロパティ]を選択します
  8. [プロパティ] パネルで、[ローカルにコピー] を [True] に変更します。

DocumentFormat クラスを使用して、すぐに実行に移す必要があります。

于 2014-06-03T22:25:22.347 に答える
21

また、 への参照を設定する必要がありますWindowsBase。これは、SDK が処理するとおりに使用するために必要ですSystem.IO.Packaging(圧縮された .docx/.xlsx/.pptx を OPC ドキュメントとして解凍して開くために使用されます)。

于 2011-03-10T17:31:44.080 に答える
7

Nuget パッケージ マネージャーに移動し、openxml を検索します。DocumentFormat.OpenXml をインストールします。

于 2016-01-05T05:44:49.337 に答える
7

参照の下にある DocumentFormat.OpenXml を選択し、そのプロパティを表示して、[ローカルにコピー] オプションを [True] に設定し、それを出力フォルダーにコピーします。それは私のために働いた。

于 2013-08-06T20:58:05.577 に答える
3

私のために働いたもの:

  1. プロジェクトにフォルダーを追加し、それを呼び出しますThirdParty
  2. ThirdParty両方のフォルダーに追加しDocumentFormat.OpenXML.dllWindowsBase.dll
  3. プロジェクトがThirdParty両方のDLLの参照としてディレクトリを使用していることを確認してください
  4. ビルドして外部サーバーに公開します。
于 2015-06-08T06:56:41.537 に答える
0

DocumentFormat.OpenXML.dllは、アプリケーションと同じフォルダーにある必要があります。ASP.NETアプリケーションを開発している場合は、「bin」パスにある必要があります。ただし、OpenXMLSDKがWindows以外のオペレーティングシステムでサポートされているかどうかはわかりません。サードパーティのソリューションを調べる必要がある場合があります。

はい、この答えは正しいです。唯一の違いは、.dllをプロジェクトのbinフォルダーにコピーすることです。

于 2013-01-22T16:01:40.873 に答える