我从开发人员那里继承了一个Silverlight项目,该开发人员只是放弃了并且没有任何指令或文档(无论如何)。争先恐后地拿起碎片让我的沙箱工作。
公司给了我安装VS 2010 Developer的许可证。我打开项目的SOLUTION文件并尝试清理 - >构建它,但得到编译器错误。它缺少System.Windows.Interactivity.dll
文件。我已经安装了Silverlight SDK和Expression Blend,这两个地方之前的SO问题(类似,但不完全相同!)建议看。
虽然我在Expression Blend的安装中看到它,但当我尝试将其添加为Silverlight项目的引用时,我收到以下错误:
您无法添加对System.Windows.Interactivity.dll的引用,因为它不是针对Silverlight运行时构建的。 Silverlight项目仅适用于Silverlight程序集。
我有什么选择?!?提前谢谢。
答案 0 :(得分:4)
添加引用时,请确认您要添加Silverlight文件夹下的dll(即“Silverlight”应位于程序集名称的路径中)。
应该在以下文件夹中找到(如果运行32位Windows,则排除“(x86)”),具体取决于SL 4.0或5.0:
由Expression Blend 4安装:
C:\ Program Files(x86)\ Microsoft SDKs \ Expression \ Blend \ Silverlight \ v4.0 \ Libraries
由Microsoft Expression Blend Preview for Silverlight 5安装:(http://www.microsoft.com/download/en/details.aspx?id=9503)
C:\ Program Files(x86)\ Microsoft SDKs \ Expression \ Blend \ Silverlight \ v5.0 \ Libraries
答案 1 :(得分:1)
快速而肮脏的解决方案是安装Blend SDK for Silverlight。根据您的描述,这些程序集应该已经在您的系统上,但由于某种原因它们不是(或者它们在一个奇怪的地方)。您描述的错误的原因是您正在尝试将程序集的WPF版本添加到Silverlight项目中,这显然是禁止的。 (解决该问题的两种方法:WPF版本应该具有4.x版本,而Silverlight版本将具有2.x用于SL4或5.x用于SL5。因此您可以区分版本号。或者您可以获得像Productivity Power Tools这样的Visual Studio扩展,为您提供了更好的添加引用的方法。)
请注意,如果您正在使用Silverlight 5,获取这些程序集的唯一方法是安装Blend Preview for Silverlight 5。用于Silverlight 5的Blend SDK的独立安装程序尚不存在。
答案 2 :(得分:0)
文件位于程序文件(x86)
中C:\Progra~2\Microsoft SDKs\Expression\Blend\.NETFramework\v4.0\Libraries\System.Windows.Interactivity.dll
C:\Progra~2\Microsoft SDKs\Expression\Blend\Silverlight\v4.0\Libraries\System.Windows.Interactivity.dll
C:\Progra~2\Microsoft SDKs\Expression\Blend\Silverlight\v5.0\Libraries\System.Windows.Interactivity.dll