私も同様のアプリケーションを使用しています。2006年から2013年までのAutoCAD(x86とx64の両方)およびbricscadv12-v13で動作します。
それを解決するために、アーキテクチャごとにVisual Studioプロジェクトを実行しました。これらのプロジェクトはそれぞれ、AutoCADのバージョンに応じて異なる.dllを参照します。特に、これらのプロジェクトのそれぞれが参照AcDbMgd.dll, AcMgd.dll, Autodesk.AutoCAD.Interop and Autodesk.AutoCAD.Interop.Common
し、それらのdllは各AutoCADアーキテクチャに固有です。
参照されているすべてのdllがコピーローカルにあることに注意する必要がありますFALSE!
私の場合、すべてのプロジェクトは異なるフォルダーにコンパイルされますが、プロジェクトごとに異なるアセンブリ名を割り当てる場合は必須ではありません。
AutoCAD APIは2006年から2012年まで同じであるという事実のおかげで(2013年にはいくつかの違いがあります)、ソースコードはそれらのプロジェクトから分離され、各プロジェクトにはリンクされたソースファイルとして含まれます(ソリューションエクスプローラーでプロジェクトに移動します->右クリック->既存のアイテムを追加->ソースファイルを選択し、[リンクとして追加]を押します)。このようにして、すべてのプロジェクトで同じソースコードを使用できますが、それらは異なるautocaddllを含めてコンパイルされます。
私の場合、BricsCADはAutoCADとは異なるAPIを使用することがあるため、いくつかの問題もありました。このいくつかのケースを解決するために、条件付きコンパイルシンボルを設定し、次のように使用しました。
#if BricsCad
CADAPI.ApplicationServices.Application.SystemVariableChanged += new CADAPI.ApplicationServices.SystemVariableChangedEventHandler(Application_SystemVariableChanged);
#else
CADDB.LayoutManager.Current.LayoutSwitched += new CADDB.LayoutEventHandler(Current_LayoutSwitched);
#endif
さらに詳しい情報が必要な場合は教えてください。ところで、あなたの主な問題は、AutoCADDLLのローカルコピー=trueだと思います。