我正在为另一个基于公共 .NET API 的程序编写插件。通常,这些插件是通过创建引用 API 程序集的类库 DLL 来制作的。然后通过从 API 程序集中的基本命令类继承来创建命令类。然后应用程序被设置为引用插件 DLL 文件,然后还负责在用户请求时实际启动自定义命令类。
但是,现在我正在尝试通过 自动生成一些代码System.CodeDOM
,并希望创建一个简单的控制台应用程序,该应用程序根据 API 程序集中的类型自动生成新的类类型。
然而,当我尝试运行我的应用程序时,出现以下异常。
System.BadImageFormatException 未处理消息:无法加载文件或程序集“RevitAPI,版本=2011.0.0.0,文化=中性,PublicKeyToken=null”或其依赖项之一。试图加载格式不正确的程序。
通常我需要将插件程序集的目标框架设置为3.5。然而现在我发现如果我将控制台应用程序的目标框架设置为 2.0,上述错误就会消失。但是,我的控制台应用程序已经引用了我的其他目标框架设置为 3.5 的类库。而且我真的不想围绕 2.0 框架重写它们。