DLL 'OrangeEasyAPI.dll' を読み込めません のエラーが出ます。

質問:OrangeEasyAPI.dllを利用してアプリケーションを開発して動作させようとすると以下のエラーが出て起動できません。
(Orange Get NFC IDm UID Easy API, Orange Mobile FeliCa Put URL Easy APIの場合も同様)
「アプリケーションのコンポーネントで、ハンドルされていない例外が発生しました。[続行]をクリックすると、アプリケーションはこのエラーを無視し、続行しようとします。[終了]をクリックすると、アプリケーションは直ちに終了します。

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

回答:
 
実行ファイル(exe)の作成された場所にDLLがないことが原因と考えられます。
Visual Studioでは通常(※)プロジェクトフォルダ内にリリースコンパイル時であればReleaseフォルダ、デバッグコンパイル時であればDebugフォルダに実行ファイル(exe)が作成されます。
作成された実行ファイルと同じフォルダ内にDLLを配置してください。

※作成される場所はプロジェクトのプロパティの出力パスの設定で変更可能なため、別の場所に保存されている場合もあります。設定をご確認ください。
ClickOnceで発行している場合はこちらをご確認ください。 → ClickOnceで発行するとDLL 'OrangeEasyAPI.dll' を読み込めません のエラーが出ます。

その他問題:
'OrangeEasyAPI.dll'のファイルは上記のファイルは、ソースの開発環境下に存在します。
参照設定を行おうとしてファイルを選択すると「参照を追加できませんでした。ファイルがアクセス可能で、有効なアセンブリもしくはCOMコンポーネントであることを確認してください。」とのエラーとなります。

回答:
①メニューのビルド→構成マネージャを開く

②構成マネージャのアクティブソリューションプラットフォームを「Any CPU」から
x86」に変更して閉じる
③デバッグ→デバッグ開始で起動できます。

理由は
(ソリューションファイル*.slnのあるフォルダ)~\bin\x86\Release
(ソリューションファイル*.slnのあるフォルダ)~\bin\x86\Debug
の二つにしかOrangeAPI.dllが入っていないので、Any CPUでコンパイルしてできるフォルダにOrangeAPI.dllをコピーして入れる必要があります。

Comments