如何在Mono中使用XDocument类

时间:2013-01-29 17:19:53

标签: c# linq mono unity3d linq-to-xml

我正在XDocument上的Unity3D项目中使用Windows 7课程。

我做了以下事情:

  • 将参考System.Xml.Linq添加到Mono项目。
  • 包含名称空间:

    using System.Xml.Linq;
    
  • 将目标框架设置为:Mono/.NET 3.5
  • 清理并重建项目

但仍然Unity3D抱怨它。这是控制台中的错误输出:

  

Assets / Scripts / Editor / RoadManager / RoadManager.cs(3,18):错误CS0234:   命名空间中不存在类型或命名空间名称“Linq”   `的System.Xml”。你错过了装配参考吗?

有什么想法吗?

2 个答案:

答案 0 :(得分:4)

这是discussed many times before,但这些答案中很少有完整的。

如前所述,Unity3d仅支持.NET 2.0版本,并且似乎System.3中引入了System.Xml.Linq,除了它Unity3d compatibility list无法在任何地方列出

唯一要尝试的是将Mono API兼容级别设置为2.0(菜单:编辑>项目设置>播放器并查看其他设置面板),但似乎这是一个错误的解决方案对于Linq2SQL。

另一种可能的解决方案是将DLL自己添加到Unity Editor中,如下所示:

  

尝试拖动C:\ Program Files   (x86)\ Unity \ Editor \ Data \ Mono \ lib \ mono \ 2.0 \ System.Xml.Linq.dll文件   像一个纹理或其他游戏一样进入统一项目窗口   资产。

如果这些都没有给你带来任何好运,那么我担心你运气不好。

答案 1 :(得分:1)

Unity3D仅支持.Net 2.0,因此在MonoDevelop / Visual Studio中设置与.net 3.5的兼容性将不起作用。你将不得不在课堂上做。这显示了可用的库类:

http://docs.unity3d.com/Documentation/ScriptReference/MonoCompatibility.html

另请参阅UnityAnswers中的这篇文章:http://answers.unity3d.com/questions/46039/can-not-reference-systemxmllinq.html