Unity使用Newtonsoft报错的解决方案

Unity 使用 Newtonsoft 报错的解决方案

问题描述

最近在做人机交互课的实验,主要开发工具选择了 Unity3D 。把做好的项目通过 git 上传后,又用 git clone 了下来来测试项目上传是否成功。结果发现 clone 回来的项目,出现了一些问题。
在项目中,我用到了 Newtonsoft.Json 这个包来处理我需要的 Json 数据。

using Newtonsoft.Json;
using Newtonsoft.Json.Linq;

在原项目中并没有出现什么问题(这里是因为之前设置了一些东西,具体我会在解决方法部分的方法一提到),但是在克隆回来的项目中 Unity3D 的控制台直接甩了个错误给我:
The type or namespace name 'Newtonsoft' could not be found (are you missing a using directive or an assembly reference?)
在这里插入图片描述

这是因为 Json.NET 官方没有直接支持 Unity ,导致 Unity 无法找到正确的程序集。

解决方法

下面我将给出两种解决方案,两种方案都是可行的。

方法一:使用 Unity 的 Package Manager 自动导入

Project 标签页中,右键点击 Packages
在这里插入图片描述
在打开的菜单栏中点击 View in Package Manager
在这里插入图片描述
在打开的 Package Manager 中,点击左上角的加号,选择通过名称添加。
在这里插入图片描述
包名是 com.unity.nuget.newtonsoft-json ,我发这篇博客时,版本号为 2.0.2,各位读者也可以填该版本号,导入后 unity 会提示你进行更新。
在这里插入图片描述
在这里插入图片描述
添加成功后 Unity 的报错信息就消失了。

方法二:访问 GitHub 下载 unitypackage 文件手动导入

访问GitHub下载相应的支持Unity的 Newtonsoft.Json 资源包。点我跳转
在这里插入图片描述

选择需要的版本进行下载(由于我使用到了 Newtonsoft.Json.Linq ,因此我需要下载的是 JsonNet.9.0.1.unitypackage )。
在这里插入图片描述
打开报错的 Unity 项目,双击下载好的 unitypackage 文件,使用 Unity Editor 打开。
在这里插入图片描述
将所有包都勾选好点击“导入”即可。此时 Unity 会重新编译一遍脚本。
在这里插入图片描述
编译成功后你就会发现控制台里已经没有报错的信息了。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_53126706/article/details/121568578
今日推荐