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でアプリをインストール
⑨アプリを実行して確認