【问题标题】:Can't reference System.xml in Uno无法在 Uno 中引用 System.xml
【发布时间】:2020-12-10 02:26:30
【问题描述】:

在 VS 2019 中,一个正在编译的 Uno 项目和最小的 UI。我正在尝试反序列化一些 XML。 这在 Windows 世界中是微不足道的:只需使用“使用 System.Xml.Serialization;”来引用它。并将“System.XML”添加到项目中的引用中。这一切都行得通。 在 Uno 中,项目没有参考部分。共享项目中的“添加参考”从字面上看,不是象征性的,而是字面上的,没有选择。不能做该死的事。 但它无法解析属性(例如 [XmlAttribute("...")]、[XmlRoot("...")]) 解决方法是什么?谢谢。

【问题讨论】:

    标签: xamarin uno-platform


    【解决方案1】:

    问题似乎源于 Uno 不完整的 macOS 支持。如果任何项目(平台)无法解析引用,则整个解决方案将中断,并且 Uno 未隐式提供 System.Xml / System.Xml.Serialization,因此功能中断。

    解决方案是显式添加对 .macOS 项目的引用。这启用了所有这些。

    【讨论】:

      【解决方案2】:

      您不能添加对共享项目的引用,因为它不会自行编译。它只是包含在任何引用它的项目中的文件列表。您需要将所需的引用添加到引用共享项目的那些项目(即MyUnoApp.DroidMyUnoApp.UWPMyUnoApp.WASM 等)

      特别是在System.Xml.Serialization 的情况下,它似乎在大多数平台上都是可用的,而无需添加额外的引用。在某些情况下,例如 macOS,它不是,但您可以按照您描述的正常方式将 System.Xml 添加到那些“头”项目中。

      【讨论】:

      • 是的,这是必要的。但也许是因为我也在做 MacOS。好吧,试图。但你已经掌握了它的症结......
      • 是的,我也看到了 - 我最初没有检查 macOS。但是 macOS 头上的“添加参考”将起作用。我更新了答案。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-11
      • 2016-02-23
      相关资源
      最近更新 更多