ClickOnceで発行するとDLL 'OrangeEasyAPI.dll' を読み込めません のエラーが出ます。

質問:OrangeEasyAPI.dllを利用してアプリケーションを開発してClickOnceで発行したアプリケーションを動作させようとすると以下のエラーが出て起動できません。

(Orange Get NFC IDm UID Easy API, Orange Mobile FeliCa Put URL Easy APIの場合も同様)

「アプリケーションのコンポーネントで、ハンドルされていない例外が発生しました。[続行]をクリックすると、アプリケーションはこのエラーを無視し、続行しようとします。[終了]をクリックすると、アプリケーションは直ちに終了します。

DLL'OrangeEasyAPI.dll'を読み込めません:指定されたモジュールが見つかりません。(HRESULTからの例外:0x80XXXXXX)」

回答:

 

実行ファイル(exe)の作成された場所にDLLがないことが原因と考えられます。

ClickOnceではインストール先が以下のパスになり、発行時点でDLLが含まれている必要があります。

C:\Documents and Settings\(user名)\Local Settings\Apps\2.0\

※(user名)はログインしているユーザー名

以下の手順でアプリケーションファイルにDLLを含めてください。

①ソリューションエクスプローラで発行するプロジェクトを右クリック→追加で「既存の項目」を選択

②ファイル選択画面が出ますので「OrangeEasyAPI.dll」を選択

③プロジェクトに「OrangeEasyAPI.dll」が追加されたのを確認

④プロジェクトを右クリック→プロパティを開く

⑤「発行」タブをひらいて「アプリケーションファイル」を開く

⑥一覧に「OrangeEasyAPI.dll」があるので”発行の状況”が「含む(自動)」になっていれば「含む」に変更

⑦プロジェクトを発行

⑧発行したsetup.exeでアプリをインストール

⑨アプリを実行して確認