【问题标题】:Compiling Silverlight runtime question编译 Silverlight 运行时问题
【发布时间】:2010-10-18 20:43:13
【问题描述】:

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

我的 Web 项目中有一些使用 System.Windows.Point 和 System.Windows.Size 数据类型的类文件,当我尝试在 List<Point> 这样的列表中传递这两种类型中的任何一种时出现编译错误在 Silverlight 项目中。如果我尝试不使用 List<>,我仍然会收到 Point 数据类型错误。

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

以下是错误:

  • “System.Windows.Point”类型是 在未定义的程序集中定义 参考。您必须添加参考 组装'WindowsBase, 版本=3.0.0.0,文化=中性, PublicKeyToken=31bf3856ad364e35'。 C:\文档 和 Settings\Gary\My Documents\Visual 工作室 2008\Projects\GEP.Reports.Spatial\GEP.Reports.Spatial\MainPage.xaml.cs
  • 无法从 'System.Collections.Generic.List [c:\程序文件\参考 程序集\Microsoft\Framework\Silverlight\v3.0\mscorlib.dll]' 到 'System.Collections.Generic.List [c:\程序文件\参考 程序集\Microsoft\Framework\Silverlight\v3.0\mscorlib.dll]

为了将这些类型添加到我的 Silverlight 运行时中,我缺少什么步骤。

感谢您的帮助。

加里

【问题讨论】:

    标签: silverlight silverlight-3.0 silverlight-2.0


    【解决方案1】:

    对于像 Point 和 Size 这样的简单类型,最好滚动自己的结构/类,而不是试图找到引用非 Silverlight 程序集的方法。此外,您真的不希望将 System.Windows 程序集包含在您的 .xap 中,以便像 Point 结构一样。

    【讨论】:

    • 我创建了一个结构,但是当我实际上需要在代码中使用 System.Windows.Point 时,我收到一条错误消息,指出“无法将 . 转换为 System.Windows 。观点”。我尝试投射到一个点,但这似乎也不起作用。
    • 其实我刚刚检查了一下,Point 结构在 Silverlight 库中,所以你不需要创建它msdn.microsoft.com/en-us/library/…。您的 SL 项目中是否引用了 System.Windows?
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-08
      • 1970-01-01
      • 1970-01-01
      • 2014-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多