无法加载文件或程序集Microsoft.Expression.Interactions和GalaSoft.MvvmLight.Extras.WPF4

时间:2012-01-27 10:54:38

标签: visual-studio xaml prism-4

使用Prism 4时我遇到了未知问题。我们在MVVM模式中实现业务解决方案。为此,我使用了

 1. Microsoft.Expression.Interactions

 2. System.Windows.Interactivity

 3. GalaSoft.MvvmLight.Extras.WPF4

用于Interaction.Triggers,CallMethodAction和EventToCommand。

<SWI:Interaction.Triggers>
    <SWI:EventTrigger SourceObject="{Binding ElementName=txtName}" EventName="GotFocus">
        <MEI:CallMethodAction TargetObject="{Binding Path=DataContext,ElementName=txtName}" MethodName="txtName_GotFocus"></MEI:CallMethodAction>
    </SWI:EventTrigger>
    <SWI:EventTrigger SourceObject="{Binding ElementName=txtName}" EventName="KeyUp">
        <GMEWCMD:EventToCommand   Command="{Binding Path=DataContext.cmdtxtNameKeyUpEvent,ElementName=txtName}" PassEventArgsToCommand="True">
        </GMEWCMD:EventToCommand>
    </SWI:EventTrigger>
</SWI:Interaction.Triggers>

一切都运转良好但现在我们要求整个系统松散耦合我们选择棱镜4.我们已经实现了这个但是上面的代码创建了以下问题。

  

无法加载文件或程序集“Microsoft.Expression.Interactions,PublicKeyToken = 31bf3856ad364e35”或其中一个依赖项。系统找不到指定的文件。

如果我评论上面的代码一切正常。我不知道是什么问题。 PRISM 4不支持上面的程序集吗?

请帮助我们摆脱这个问题。

谢谢

3 个答案:

答案 0 :(得分:13)

当我在属于模块的视图中引用Microsoft.Expression.Interactions和System.Windows.Interactivity时,这种情况经常发生在我身上,但我也无法将这些引用添加到充当shell的项目中。 / p>

答案 1 :(得分:1)

我在Visual Studio 2012中遇到了与Prism类似的问题.XAML编辑器会因同样的异常而失败。

解决方案是安装Microsoft Expression Blend SDK。程序集应该是SDK的一部分。据称,在XAML中控制事件和命令之间的绑定是必要的,而某些代码可能需要它。

答案 2 :(得分:1)

我在使用.NET 4.5.2的Prism 6.1复合应用程序中遇到了同样的问题,我在其中一个模块(类库)中引用了Microsoft.Expression.Interactions&amp; System.Windows.Interactivity。 最终我必须在Desktop项目中引用相同的dll(引导程序和Shell所属的那些)