从Prism应用程序引用正确的System.Windows.Interactivity dll

时间:2011-09-02 16:53:31

标签: wpf prism expression-blend

我正在构建一个WPF Prism应用程序。应用程序到了我希望能够将EventTriggers添加到控件的位置,以便我可以在底层视图模型上调用命令。但是,我似乎无法引用正确的DLL来使项目运行。目前,我正在引用Microsoft.Expression.Interactions目录中的System.Windows.InteractivityC:\Program Files (x86)\Microsoft SDKs\Expression\Blend\.NETFramework\v4.0\Libraries

当我运行模块时,我收到此错误:

  

无法加载文件或程序集'System.Windows.Interactivity,
  PublicKeyToken = 31bf3856ad364e35'或其中一个依赖项   系统找不到指定的文件。

我检查了反射器中的System.Windows.Interactivity组件,可以看到它引用了:

  • mscorlib程序
  • PresentationCore
  • PresentationFramework
  • 系统
  • System.Core程序
  • System.Xaml
  • WindowsBase

所有引用都指向4.0框架。我从.NET参考选项卡中引用了每个参考选项卡,确保每个都是4.0版本。所有这些引用都从C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0目录加载。

我需要另外下载System.Windows.InteractivityMicrosoft.Expression.Interactions程序集才能在我的环境中运行吗?

2 个答案:

答案 0 :(得分:11)

出于某种原因,我仍然无法理解,Prism包含了它自己版本的Blend SDK程序集。因此,您应该从Prism发行版的Lib \ Desktop文件夹中引用Microsoft.Expression.Interactions.dll和System.Windows.Interactivity.dll(假设您使用的是Prism v4),而不是从Blend SDK安装中引用。

答案 1 :(得分:6)

对于登陆此页面的人遇到此问题但上述解决方案无效的情况,您可以查看:Prism assembly reference failure: System.Windows.Interactivity