2011-06-27 10 views
0

はここの状況だとして、32ビットのDLLをロードする32ビットのウィンドウのサービスを実行している -は、64ビットのサービス

私がコーディングしていますウィンドウのサービスが起動したアプリケーションはに対して遵守されるように主張Linq2Excelを、使用していますx86。

ただし、ウィンドウサービスは64ビットWindowsサーバーにインストールされます。

corflagsを使用して、インストールする32ビットのウィンドウサービスを取得できました。しかし、Linq2Excelの読み込みを拒否します。ここに例外があります:

Exception occurs: Could not load file or assembly 'LinqToExcel, Version=1.0.0.0, 
Culture=neutral, PublicKeyToken=null' or one of its dependencies. 
An attempt was made to load a program with an incorrect format. 

このサービスを利用するにはどうすればいいですか? (Linq2Excelを使用してサーバーを32ビットに変更する必要はありません)

+0

この問題を解決したのは、@Extrakunですか?私はここで同様の問題を抱えています... – Skywise

+0

いいえ、Linq2Excelに最新のWindows Accessデータベースエンジン(http://www.microsoft.com/download/en/details.aspx?id=13255)を使用させる必要があります。私はそれを64ビットDLLとしてコンパイルすることができます。 – Extrakun

+0

@Extrakun: "任意のCPU"ターゲットまたはx86ターゲットでサービスをビルドしましたか? –

答えて

1

すべてが32ビットの場合、64ビットマシンで正常に動作するはずですが、32ビットアプリケーションは64ビットのDLLをロードできませんでした。 WCFを使用しているプロセスコールのうち、

+0

64ビットマシンが32ビットウィンドウサービスをロードできません。 – Extrakun

関連する問題