繁体   English   中英

错误 CS0246:找不到类型或命名空间名称“Newtonsoft”

[英]Error CS0246: The type or namespace name 'Newtonsoft' could not be found

完整错误:Assets\\Scripts\\ProjectsScript.cs(6,7):错误 CS0246:找不到类型或命名空间名称“Newtonsoft”(您是否缺少 using 指令或程序集引用?)

通过 Unity 运行时,应用程序按预期工作。 但是,当尝试在 Unity 中构建应用程序以使用 Lumin 平台将其导出到 Magic Leap 时,由于提到的编译器错误而失败。 在 Assets 文件夹下有一个包含相应文件的 JsonDotNet 文件夹。 项目设置->播放器->其他设置下的设置似乎已适当设置(脚本运行时版本-> .NET 4.X 等效)(Api 兼容性级别-> .NET 4.x)。 在visual studio -> manage nuget Solutions,找到json.net。 我知道有类似的问题,但我们一直在尝试他们的解决方案,但无济于事。 我们还尝试在 JsonDotNet 文件夹中移动,但在编译时 unity 似乎仍然找不到它。

最简单的解决方案是将文件 Newtonsoft.Json.dll 复制到您的 Assets 文件夹,然后删除对 Nuget 包的依赖项并改为引用复制的 DLL。 Unity 将获取新 DLL 的存在,并且 Unity 项目中的所有代码将自动引用它。

另一种方法是使用资源商店中的 newtonsoft 的 json.net(免费),但我选择了前一种方式,因为我希望我的外部 DLL(不是 Unity 项目的一部分,编译到 Assets 文件夹中)引用相同的版本来自 json.net。

答案是 JsonDotNet 不受 MagicLeap 官方支持。 尽管 Unity Asset Store 表示它正式支持除 blah blah 之外的所有版本,但该资产是在 2017 年 Lumin 成为官方平台之前发布的。 我们需要请求 Newtonsoft 更新他们的 Unity 资产。

此处的问题指出“找不到 newtonsoft...还尝试在 JsonDotNet 文件夹中移动...”
此处的stackoverflow“答案”指出“最简单的解决方案是将文件Newtonsoft.Json.dll 复制到您的Assets 文件夹中……另一种方法是newtonsoft 使用json.net……但我选择了前者……”

所以据此,如果我要正确理解:问题是 X。答案发布者说最简单的解决方案是 X,替代解决方案是 X。答案发布者选择了 X。

堆栈溢出ftw。 最大努力 dfl。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM