32ビットコンピューターで作業していますが、64ビットサーバーに展開しています。
私は以下のようなソリューションで5つのプロジェクトを持っています:
- IHCommon(クラスライブラリ)
- 参照
- IHLib64(プロジェクトとして)
- IHLib32(プロジェクトとして)
- 参照
- IHLib64(クラスライブラリ)
- 参照
- aLibrary.dll(64ビットコンピューター用にコンパイルされたサードパーティのdll)
- 参照
- IHLib32(クラスライブラリ)
- 参照
- aLibrary.dll(32ビットコンピューター用にコンパイルされたサードパーティのdll)
- 参照
- IHWebUtility(クラスライブラリ)
- 参照
- IHCommon(プロジェクトとして)
- 参照
- Webサイト(Webプロジェクト)
- 参照
- IHWebUtility(プロジェクトとして)
- 参照
これが私のポイントです。私のWebサイトアプリケーションは「aLibrary.dll」で記述された関数を実行する必要があるため、CPUタイプの条件で「IHCommon」プロジェクトから「IHLib64」または「IHLib32」を呼び出すことができました。
正常に動作します。
問題はWebサイトのbinフォルダーにあり、32ビットバージョンの「aLibrary.dll」が64ビットバージョンの「aLibrary.dll」が検索しようとしているため、検索しようとしています。
それらは同じ名前を持っているので、同じフォルダにとどまることができません。
それらをbin\x86やbin\x64などの個別のフォルダーに分割するにはどうすればよいですか?
私の本当の大きなポイントは、それらを私のソリューションに含めることですが、CPUタイプの条件でそれらを実行します。
.csprojファイルを修正しようとしましたが、うまくいきませんでした。
[編集].NETReflectionも使おうとしましたが、以前のコードには適用できません。
コードが大きすぎます。
[編集]ダニエルに
つまり、これらのプロジェクトを次のように修正する必要があります。
- IHCommon(クラスライブラリ)
- DLL
- x86
- aLibrary.dll(32ビットコンピューター用にコンパイルされたサードパーティのdll)
- x64
- aLibrary.dll(64ビットコンピューター用にコンパイルされたサードパーティのdll)
- x86
- DLL
- IHWebUtility(クラスライブラリ)
- 参照
- IHCommon(プロジェクトとして)
- 参照
- Webサイト(Webプロジェクト)
- 参照
- IHWebUtility(プロジェクトとして)
- 参照