问题:在使用包管理器下载TextMeshPro 之后不能使用脚本控制。即不能在项目中检测到TMPro命名空间,从而使用它。
- 通过查找,发现Unity的Project目录下多了Packages目录,里面包含下载的多个包。里面的代码都是全的,但是不能在VS中引用。同时VS生成解决方案时,会出现以下类似错误。不能成功附加到Unity
6>CSC : error CS0006: 未能找到元数据文件“...\Temp\UnityVS_bin\Debug\Unity.PackageManagerUI.Editor.dll”
6>CSC : error CS0006: 未能找到元数据文件“...\Temp\UnityVS_bin\Debug\UnityEditor.StandardEvents.dll”
- 后来发现在项目目录里有Packages(与Assets同级的Packages目录)文件夹。里面都是下载包的空文件夹,不包含dll或代码文件。这就是不能在脚本中引用它们的原因。
- 进入unity主界面下的Project目录下的Packages目录,发现在缓存文件夹里面(对子文件夹使用Show in explorer)。复制到assets目录下的packages中包所在的位置。覆盖对应包所在文件夹。
- 问题解决。
如果Unity后面修复了这个bug,即Packages Manager下载只会把包文件下载到缓存文件夹而不是项目目录里。或者有更好的解决方法,希望大家告知。
大雾,之前Unity 2018使用的是VS2017,解决方案里出现几十个项目。后来把VS升级了一下,好像现在才是正常的项目。也不用移动Packages的任何文件,VS可以识别到。
所以出现这种问题可能是VS版本太低导致的。更新后需要删除之前的解决方案重新加载。