编译Silverlight运行时问题

时间:2009-04-11 00:34:05

标签: silverlight silverlight-3.0 silverlight-2.0

我创建了一个Silverlight项目,该项目还包含一个Web项目。

我的web项目中有一些类文件,它们使用System.Windows.Point和System.Windows.Size数据类型,当我尝试在像{{1}这样的列表中传递这些类型时,我遇到编译错误在Silverlight项目中。如果我在没有List<Point>的情况下尝试,我仍然会收到Point数据类型错误。

我查看了有关从David Betz网站编译Silverlight程序集的信息,我找到了tool来帮助我使用他讨论的两种方法中的第一种,并成功编译了运行时并在我的Silverlight项目中引用它

以下是错误:

  • 类型'System.Windows.Point'是 在不是的程序集中定义 引用。您必须添加引用 组装'WindowsBase, 版本= 3.0.0.0,文化=中立, 公钥= 31bf3856ad364e35' 。 C:\文件 和设置\加里\我的文档\视觉 工作室 2008 \项目\ GEP.Reports.Spatial \ GEP.Reports.Spatial \ MainPage.xaml.cs中
  • 无法转换 “System.Collections.Generic.List [c:\ Program Files \ Reference 大会\微软\框架\ Silverlight的\ 3.0 \ mscorlib.dll中]” 至 “System.Collections.Generic.List [c:\ Program Files \ Reference 组件\微软\框架\ Silverlight的\ 3.0 \ mscorlib.dll中]

为了将这些类型添加到我的Silverlight运行时,我缺少哪一步。

感谢您的帮助。

加里

2 个答案:

答案 0 :(得分:1)

对于像Point和Size这样的简单类型,最好滚动自己的结构/类,而不是试图找到引用非Silverlight程序集的方法。另外,为了像Point结构这样的东西,你真的不希望像.xap这样的System.Windows程序集。

答案 1 :(得分:0)

实际上你可以使用System.Windows.Point。只是在你的WS中使用 SL dll:

C:\ Program Files \ Reference Assemblies \ Microsoft \ Framework \ v3.0 \ WindowsBase.dll