Visual Studio 代码中未找到 TMPro

TMPro not found in Visual Studio Code

我正在使用 Visual Studio Code 为 Unity 编写代码。 我添加到 Visual Studio 代码中的以下扩展: C#、Unity 调试器、Unity 代码片段和 Unity 工具

使用 TMPro 与 TextMeshPro 组件一起工作会引发此错误:

Unnecessary using directive. [Assembly-CSharp]csharp(CS8019)
The type or namespace name 'TMPro' could not be found (are you missing a using directive or an assembly reference?) [Assembly-CSharp, Assembly-CSharp, Assembly-CSharp, Assembly-CSharp, Assembly-CSharp, Assembly-CSharp, Assembly-CSharp]csharp(CS0246)

从好的方面来说,在 Unity Editor 中没有出现任何错误,但仍然很烦人。

有人知道我是否需要下载额外的扩展程序或如何解决这个问题吗?

最佳

打开 Package Manager 并确保您安装了 TextMeshPro 包。 如果此错误仍然存​​在,请重新启动 Unity Editor.

原来问题是在我的项目的 *.sln 文件中,由于缺少 *.dll 文件的路径而找不到引用。

删除 Unity.TextMeshProUnity.TextMeshPro.Editor 然后重新导入它们解决了问题。

在我的例子中,答案是删除所有项目文件,在包管理器中重新安装 TMPro,并删除 Library/PackageCache/

中的所有文件夹

如果您已将项目移至其他文件夹,请务必更新 Assembly-CSharp.csproj 以获得 TextMeshProUnityEngine.UI 等库的新的正确文件路径。

我 运行 在 Unity 中设置单元测试后遇到了这个问题。如果您的 Unity 项目中有一个程序集定义文件,那么它需要在检查器中添加一个新的程序集定义参考。在这种情况下,Unity.TextMeshPro.

我已经有这个问题很久了,这是 Unity 2021.1 和最新 Vscode 插件的解决方案:

转到首选项>外部工具并取消选中所有内容(所有生成 csproj 复选框) 删除所有 sln 和 CSproj 文件。

点击重新生成项目文件。

在我的例子中,我必须将脚本程序集添加到我的“脚本”(我保存游戏的所有脚本的地方)文件夹。完成后,我在“程序集定义参考”中添加了一个参考并选择了“Unity.TextMeshPro”,然后我可以将 using TMPro; 添加到我的脚本中。

以前不会发生这种情况,我怀疑是测试运行器在抱怨,因为它不知道“TMPro”是什么。