パブリック .NET API に基づく別のプログラムのプラグインを作成しています。通常、これらのプラグインは、API アセンブリを参照するクラス ライブラリ DLL を作成することによって作成されます。次に、API アセンブリの基本コマンド クラスから継承することにより、コマンド クラスが作成されます。次に、アプリケーションはプラグイン DLL ファイルを参照するように設定され、ユーザーが要求したときにカスタム コマンド クラスを実際に起動する役割も果たします。
ただし、現在、 を使用して一部のコード生成を自動化しようとしSystem.CodeDOM
ており、API アセンブリの型に基づいて新しいクラス型を自動的に生成する単純なコンソール アプリケーションを作成したいと考えています。
それでも、アプリケーションを実行しようとすると、次の例外が発生します。
System.BadImageFormatException は処理されませんでした メッセージ: ファイルまたはアセンブリ 'RevitAPI、Version=2011.0.0.0、Culture=neutral、PublicKeyToken=null' またはその依存関係の 1 つを読み込めませんでした。不正な形式のプログラムをロードしようとしました。
通常、プラグイン アセンブリのターゲット フレームワークを 3.5 に設定する必要があります。しかし、コンソール アプリケーションのターゲット フレームワークを 2.0 に設定すると、上記のエラーが解消されることがわかりました。ただし、私のコンソール アプリケーションは、ターゲット フレームワークが 3.5 に設定されている私の他のクラス ライブラリを既に参照しています。そして、2.0 フレームワークを中心にそれらを書き直したくないのです。