-1

我正在尝试XDocument在.Unity3DWindows 7

我做了以下事情:

  • 添加了对System.Xml.LinqMono 项目的引用。
  • 包括命名空间:

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

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

Assets/Scripts/Editor/RoadManager/RoadManager.cs(3,18):错误 CS0234:命名空间“System.Xml”中不存在类型或命名空间名称“Linq”。您是否缺少程序集参考?

任何的想法?

4

2 回答 2

4

这已经讨论过 很多 ,但是这些答案中很少有完整的。

如前所述,Unity3d 最高只支持 .NET 2.0 版本,而且似乎 System.Xml.Linq 是在 .NET 3.5 中引入的,而且它没有在任何地方的Unity3d 兼容性列表中列出

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

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

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

如果这些都没有为您带来任何运气,那么恐怕您不走运。

于 2013-02-02T04:22:46.960 回答
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

于 2013-02-01T09:23:34.007 回答