C# System.Windows.Interactivity:无法加载文件或程序集'System.Windows,版本=2.0.5.0'

C# System.Windows.Interactivity:无法加载文件或程序集'System.Windows,版本=2.0.5.0',c#,.net,wpf,silverlight,C#,.net,Wpf,Silverlight,我正在尝试引用System.Windows.Interactive,以便 但是一旦我添加了对这个程序集的引用,我就会在加载System.Windows2.0时出错。这似乎是一个已知的bug,解决方案似乎只是引用该程序集 我下载了SilverlightSDK,并在我的项目中引用了有问题的程序集 但是,现在我发现System.Windows和WindowsBase.dll之间存在很多冲突。RoutedEventHandler等类都存在于这两个。。一定是解决这个问题的一种方法,因为我看到人们在WPF4

我正在尝试引用System.Windows.Interactive,以便

但是一旦我添加了对这个程序集的引用,我就会在加载System.Windows2.0时出错。这似乎是一个已知的bug,解决方案似乎只是引用该程序集

我下载了SilverlightSDK,并在我的项目中引用了有问题的程序集


但是,现在我发现System.Windows和WindowsBase.dll之间存在很多冲突。RoutedEventHandler等类都存在于这两个。。一定是解决这个问题的一种方法,因为我看到人们在WPF4.0中成功地使用了交互性dll

如果您有一个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

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

Sonic,就像H.B.说的,您不能在WPF中使用Silverlight版本。您需要安装不同的而不是Silverlight。

您需要引用主项目中的dll,而不仅仅是控件库。这就是我的问题所在。请参见此处的更多信息:

我在运行以前版本的Visual Studio中构建的项目时遇到此错误,但我是在VS2017中运行的

通过打开VS2017安装程序并修改我的安装以在VS2017安装中选择Visual Studio SDK for.Net混合组件,我的问题得以解决


Fissh

我的表达式目录中只有/Silverlight。。所以我从那里获取了Interactivity.dll。Windows根本不存在,所以我通过安装silverlight sdk获得了它,然后从C:\Program Files x86\Reference Assembly\Microsoft\Framework\silverlight\v4获得它。0@SonicSoul:您无法在WPF中使用Silverlight库,请不要尝试。如果WPF程序集不在那里,请重新安装并确保将安装WPF组件。我从C:\Program Files x86\Microsoft SDK\Expression\Blend\Silverlight\v4.0获得System.Windows.Interactivity.dll\Libraries@SonicSoul:如我所说,这是Silverlight的,它不能在WPFW中使用。我还能在哪里获得System.Windows.Interactivity?