无法加载文件或程序集’System.Windows.Interactivity’

我刚刚添加了System.Windows.Interactivity程序集。 XamlParse在运行时抛出exception:

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

谷歌搜索只找到与棱镜相关的结果 – 我不使用。

知道为什么会这样吗?

只是一个猜测,可能是你没有引用MAIN项目中的库。

它发生在我身上好几次。

Tilak的回答帮了我很大的事,但我还需要在XAML代码中命名至少一个来自程序集“i”的元素。 在命名元素时,Visual Studio会正确连接程序集。

更改

 

  

这只需要对整个XAML文件中的一个元素进行。

有时,当您添加新库时,会引入一个冲突版本的System.Windows.Interactivity.dll

这可以防止项目工作。

要修复此问题,请通过编辑app.config来添加程序集绑定重定向,如下所示:

               

不要担心更改PublicKeyToken ,它在所有版本中都是常量,因为它取决于.dll的名称,而不是版本。

确保将newVersion中的appConfig与最终指向的实际版本相匹配:

在此处输入图像描述

你可以在Blend SDK中找到这个dll。

以下是链接:

http://www.microsoft.com/en-us/download/details.aspx?id=10801

您可以在每个项目中扫描System.Windows.Interactivity的版本,例如。 4.0.0.0或4.5.0.0。 此外,可能引用的第三方dll之一可能取决于System.Windows.Interactivity。 因此,请确保在项目中对齐版本。 这必须解决您的问题。

您可以检查项目属性 – >构建 – >输出路径。

使用Windows资源管理器转到输出路径控制器。 然后查看该文件夹中是否存在“System.Windows.Interactivity.dll”。 可能是因为CopyLocal标志为false或有原因dll文件未在输出路径文件夹中生成。