System.Windows.Interactivity:无法加载文件或程序集“System.Windows,Version=2.0.5.0”。

7
我正在尝试引用System.Windows.Interactivity来支持IsExpanded行为命令
但是一旦我添加了对该程序集的引用,就会出现加载System.Windows 2.0时的错误。这似乎是一个已知的错误,解决方法似乎是只引用那个程序集。
我下载了Silverlight SDK,并在我的项目中引用了相关程序集。
然而,现在我在System.Windows和WindowsBase.dll之间遇到了很多冲突。例如,RoutedEventHandler类存在于两个程序集中。一定有一种方法可以解决这个问题,因为我看到有人成功地使用了那个Interactivity dll与wpf 4.0。
5个回答

14

如果您有一个WPF项目,您需要使用该程序集的WPF特定版本,也许您选择了错误的.dll文件?

这是我的系统上的两个相应文件路径:

C:\Program Files (x86)\Microsoft SDKs\Expression\Blend\.NETFramework\v4.0\Libraries\System.Windows.Interactivity.dll
C:\Program Files (x86)\Microsoft SDKs\Expression\Blend\Silverlight\v4.0\Libraries\System.Windows.Interactivity.dll

我的Expression目录中只有/Silverlight,所以我从那里取出了Interactivity.dll。System.Windows根本不存在,所以我通过安装Silverlight SDK并从C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Silverlight\v4.0获取它。 - Sonic Soul
@SonicSoul:你不能在WPF中使用Silverlight库,甚至不要尝试。如果WPF程序集不存在,则重新安装Blend SDK,并确保安装了WPF组件。 - H.B.
我从C:\Program Files (x86)\Microsoft SDKs\Expression\Blend\Silverlight\v4.0\Libraries获取了System.Windows.Interactivity.dll。 - Sonic Soul
1
@SonicSoul:就像我说的那样,那是为Silverlight设计的,不能在WPF中使用。 - H.B.
@SonicSoul:另外,就像我之前说的那样,重新安装Blend SDK(最近评论中有链接),看看能否成功安装WPF组件。 - H.B.
显示剩余3条评论

2

2
我在使用Visual Studio 2017运行以前版本的项目时遇到了这个错误。问题得到解决是通过打开VS2017安装程序并修改我的安装,选择VS 2017安装中的"Blend for Visual Studio SDK for .Net"组件。请参考下面截图所示:Screenshot of VS2017 installer window showing component to select

1
如果你的项目之一是针对.NET 4.0客户端配置文件,你可能会发现切换到完整的.NET 4.0框架可以解决这个问题。

0

Sonic,就像H.B.所说的那样,你不能在WPF中使用Silverlight版本。你需要安装不同的WPF特定的Expression Blend SDK,而不是Silverlight。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接