3

私はしばらく探していましたが、私の問題は大部分とは多少異なっているようです。

私のプログラムを 32 ビットと 64 ビットの両方に対応させたいと考えています。.NET で書かれているので問題ありませんが、ビット固有の sqlite dll を使用しています。

私は両方のバージョンの dll を持っていて、メイン プログラムを 64 ビット用にコンパイルすることもできますが、プロジェクトに 64 ビット バージョンの参照を再度追加することで、それを機能させたいと考えています。なんとなく違う。

2回コンパイルする必要があるのは私にとって十分に効率的ではありません.代わりに、動的に調整できるようにする方法を見つけたいと思います.それらは、ビット版です。したがって、プログラムの互換性をその隣にある dll に依存させたいと考えています。

通常は参照としてプロジェクトに追加されるため、Visual Studio はその内容を強調表示して検出します。参照として追加したままにしたいのですが、実際の dll (exe の隣にある) をロードする機能を失うことなく実行します。これまでと同じように、エディターで dll 関数をハイライト表示して使用します。

Assembly.Load/LoadFrom/LoadFile、+ Reflection について読んだことがありますが、必要なものではありません。

前もって感謝します、

デビッド

4

1 に答える 1

8

すでに多くの検索を行っていることは承知していますが、これらの 2 つのリンクは、見落としている可能性のある 2 つの優れたオプションを提供します。

64 ビットまたは 32 ビット OS に基づく外部 dll のインポート

x86 プログラムと x64 プログラムに 2 つの個別のソリューションを必要としないようにする

両方のリンクで、Hans Passant の回答を見てください。素晴らしいです。

お役に立てれば。

于 2012-11-04T00:06:33.287 に答える