パブリック.NET APIに基づいた別のプログラムのプラグインを作成しています。通常、これらのプラグインは、APIアセンブリを参照するクラスライブラリDLLを作成することによって作成されます。次に、APIアセンブリの基本コマンドクラスから継承してコマンドクラスを作成します。アプリケーションは、プラグインDLLファイルを参照するように設定され、ユーザーが要求したときに実際にカスタムコマンドクラスを起動する役割も担います。System.BadImageFormatException不正な形式のプログラムを読み込もうとしました。
しかし、私はSystem.CodeDOM
でいくつかのコード生成を自動化しようとしており、APIアセンブリ内の型に基づいて新しいクラス型を自動的に生成する単純なコンソールアプリケーションを作成したいと考えています。
ただし、アプリケーションを実行しようとすると次の例外が発生します。
System.BadImageFormatExceptionは 未処理のメッセージだった。 'RevitAPI、 バージョン= 2011.0.0.0、文化=中立、 なPublicKeyToken = nullを' またはその依存関係の1つ ファイル またはアセンブリをロードできませんでした。 不正なプログラムを読み込もうとしました。 形式です。
通常、プラグインアセンブリのターゲットフレームワークを3.5に設定する必要があります。しかし、私は私のコンソールアプリケーションのターゲットフレームワークを2.0に設定すると、上記のエラーがなくなることがわかりました。しかし、私のコンソールアプリケーションはすでにターゲットフレームワークが3.5に設定されている私の他のクラスライブラリを参照しています。そして、私は実際には2.0フレームワークの周りにそれらを書き直すつもりはないです。
解決され、私のbinフォルダに追加したものを同じ問題を抱えています、サイモンの答えが受け入れられた時が来たのですか、それとも正しいものではありませんか? –