大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。
一、前言
首先,看一下跟我是不是类似的问题:
缺少命名空间引用的问题。
类似的问题有:
The type or namespace name `MySql’ could not be found. Are you missing an assembly referen
The type or namespace name ‘JWT’ could not be found (are you missing a using directive or an assembly reference?)
The type or namespace name ‘Newtonsoft’ could not be found (are you missing a using directive or an assembly reference?)
The type or namespace name ‘****’ could not be found (are you missing a using directive or an assembly reference?)
The type or namespace name ‘BurstCompile’ could not be found (are you missing a using directive or an assembly reference?)
UP是从Visual Studio的NuGet包管理器直接安装的插件集,在Visual Studio是没有报错的,但是在Unity中会报错。
二、原因分析
这个主要原因以下几个方便:
1、Unity的版本问题,老版本无法支持新的依赖库。
2、Unity的目标框架库不支持.Net的框架库
3、Unity中没有加入这个dll
三、解决问题
知道问题了就好解决了。
3-1、Unity版本问题
如果是Unity 的版本问题就升级版本
3-2、Unity不支持目标框架库
如果是Unity的目标框架库不支持.Net的框架库。
在Unity编辑器中,点击File→Build Settings→Player找到Api Compatibility Level:
将.NET Standard 2.0改成.NET 4.x。
安装.NET 4.6框架的,可以改成4.6。
3-3、Unity没有导入dll
有童鞋会说了:我Unity目标框架库、Unity的版本都没有问题,但是还有报错怎么办呢。
那就要根据这个缺少的程序集去找到对应的dll文件,然后放到Unity的Plugins文件夹中:
比如说我缺少JWT和Newtonsoft的程序集,我就找到了对应的dll文件:
放到Unity的Plugins文件夹中: