2012-04-09 130 views
1

我从一个开发人员那里继承了一个Silverlight项目,他刚刚升职并退出,没有任何指令或文档(无论如何)。争先恐后拾起碎片,让我的沙箱工作。.NET/Silverlight缺少DLL

公司给了我一个VS 2010 Developer的许可证,我已经安装了。我打开项目的SOLUTION文件并尝试清理 - >构建它,但得到编译器错误。它缺少System.Windows.Interactivity.dll文件。我已经安装了Silverlight SDK和Expression Blend,这是前两个地方的SO问题(类似对此,但不完全相同!)推荐看。

虽然我看到它的Expression Blend的安装里面,当我尝试将其添加为Silverlight项目,我得到以下错误的引用:

You can't add a reference to System.Windows.Interactivity.dll as it was not built against the Silverlight runtime. Silverlight projects will only work with Silverlight assemblies.

什么是我选择这里?!?提前致谢。

回答

4

当您添加引用时,请验证您是否添加了Silverlight文件夹下的dll(即,“Silverlight”应位于程序集名称的路径中)。

应该在以下文件夹中找到(排除 “(86)”,如果在运行32位Windows),这取决于SL 4.0或5.0:
通过表达混合4安装:
C:\程序文件(x86)\微软的SDK \表达\混合\ Silverlight的\ V4.0 \库

微软Expression Blend中预览安装的Silverlight 5:http://www.microsoft.com/download/en/details.aspx?id=9503
C:\ Program Files文件(x86)的\ Microsoft SDKs \ Expression \ Blend \ Silverlight \ v5.0 \ Libraries

+0

是的多数民众赞成在问题,**没有在Silverlight文件夹**下的DLL! – IAmYourFaja 2012-04-09 17:15:55

+0

如果它应该在那里,请给我一个链接到包含此DLL的Silverlight安装程序!我可能安装了错误的东西。如果你可以在C:/ Program Files/Microsoft SDKs /(我相信*是适当的地方)下提供一个链接来安装这个DLL,我很乐意给你一个绿色检查! – IAmYourFaja 2012-04-09 17:19:42

+0

不确定您的应用是否为SL 4.0或5.0构建,但我在答案中添加了更多详细信息。 – 2012-04-10 13:24:00

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 
1

的快速和肮脏的解决办法是安装Blend SDK for Silverlight。从你所描述的这些程序集应该已经在你的系统上,但由于某些原因,他们不是(或他们在一个奇怪的地方)。你描述的错误的原因是你试图将程序集的WPF版本添加到Silverlight项目中,这显然是一个禁忌。 (有两种方法可以解决这个问题:WPF版本应该有4.x版本,而Silverlight版本对于SL4将有2.x版本或5.x版本,所以你可以通过版本号进行区分,或者你可以得到一个像Productivity Power Tools这样的Visual Studio扩展,为您提供更好的添加引用的方法。)

请注意,如果您在做Silverlight 5,获取这些程序集的唯一方法是安装Blend Preview for Silverlight 5。尚不存在用于Silverlight 5 Blend SDK的独立安装程序。