例外:“编译时使用的程序集可能与加载时使用的程序集不同,但缺少类型。”

时间:2010-02-17 17:43:19

标签: wpf user-controls prism

我正在构建一个包含多个模块的Prism应用程序,其中一个模块(MyModule)包含我创建的用户控件(MyUserControl)。 MyUserControl测试正常,但当我将其添加到MyModule并运行应用时,我会遇到以下异常:

“找不到类型MyUserControl。编译时使用的程序集可能与加载时使用的程序集不同,但缺少类型。”

我可以通过向我的Shell应用程序添加对MyUserControl的引用来修复错误。但是,当然,这会破坏Prism的整个目的,因为Shell不使用MyUserControl - 只有MyModule使用它。

MyUserControl基于WPF Toolkit中的WPF Calendar控件,似乎有类似的问题。我在另一个不依赖于WPF Toolkit的模块中有另一个用户控件,并且我没有为该控件获得此异常。

有关如何在不将Shell连接到MyUserControl的情况下解决此问题的任何建议?感谢。

1 个答案:

答案 0 :(得分:3)

我认为您需要的只是将MyUserControl.dll复制到主app文件夹中 (在主应用程序中添加引用就是这样做)最简单的方法是使用post build事件。 右键单击MyUserControl项目,选择属性,在Post-build命令行类型中选择“Build Events”选项卡: xcopy $(TargetFileName)$(SolutionDir)\你的主要文件夹文件夹\ bin \ Debug \ Modules \ / Y 就是这样,一旦构建了MyUserControl,它将自动复制到主app文件夹中,然后当你运行应用程序时,使用它的模块将能够找到它。