TextMesh Pro 在 Debian 10 GNU/Linux 中运行 Unity 时出错

问题描述 投票:0回答:2

我开始尝试Unity GNU/Linux版本。我的工作中有一个项目是用适用于 Windows 的 Unity 编辑器版本 5.6.6f2 编写的。在 Unit Hub 将项目转换为新版本后,我可以在 Unity 编辑器版本 2019.3.8f1 中打开该项目。

我现在遇到了一系列构建错误。其中许多与构建过程中生成的脚本中的 TextMesh Pro Asset 相关。喜欢

Library/PackageCache/[email protected]/Scripts/Runtime/TMP_FontAsset.cs(405,34): error CS0029: Cannot implicitly convert type 'UnityEngine.TextCore.FaceInfo' to 'TMPro.FaceInfo'
Library/PackageCache/[email protected]/Scripts/Runtime/TMP_FontAssetUtilities.cs(302,82): error CS1061: 'FaceInfo' does not contain a definition for 'pointSize' and no accessible extension method 'pointSize' accepting a first argument of type 'FaceInfo' could be found (are you missing a using directive or an assembly reference?)
Library/PackageCache/[email protected]/Scripts/Runtime/TMP_FontAssetUtilities.cs(344,82): error CS1061: 'FaceInfo' does not contain a definition for 'pointSize' and no accessible extension method 'pointSize' accepting a first argument of type 'FaceInfo' could be found (are you missing a using directive or an assembly reference?)
Library/PackageCache/[email protected]/Scripts/Runtime/TMP_FontAsset.cs(612,84): error CS1061: 'FaceInfo' does not contain a definition for 'tabWidth' and no accessible extension method 'tabWidth' accepting a first argument of type 'FaceInfo' could be found (are you missing a using directive or an assembly reference?)
Library/PackageCache/[email protected]/Scripts/Runtime/TMP_FontAsset.cs(649,28): error CS1061: 'FaceInfo' does not contain a definition for 'capLine' and no accessible extension method 'capLine' accepting a first argument of type 'FaceInfo' could be found (are you missing a using directive or an assembly reference?)
Library/PackageCache/[email protected]/Scripts/Runtime/TMP_FontAsset.cs(652,28): error CS1061: 'FaceInfo' does not contain a definition for 'capLine' and no accessible extension method 'capLine' accepting a first argument of type 'FaceInfo' could be found (are you missing a using directive or an assembly reference?)

有一个日志文件,

Logs/Packages-Update.log
,我认为它与将项目从 5.6.6f2 版本转换到 2019.3.8f1 版本时所做的更新有关。该文件的内容是

Packages were changed.
Update Mode: resetToDefaultDependencies

The following packages were added:
  [email protected]
  [email protected]
  [email protected]
  [email protected]
  [email protected]
  [email protected]
  [email protected]
  [email protected]
  [email protected]
  [email protected]
  [email protected]
  [email protected]
  [email protected]
  [email protected]
  [email protected]
  [email protected]
  [email protected]
  [email protected]
  [email protected]
  [email protected]
  [email protected]
  [email protected]
  [email protected]
  [email protected]
  [email protected]
  [email protected]
  [email protected]
  [email protected]
  [email protected]
  [email protected]
  [email protected]
  [email protected]
  [email protected]
  [email protected]
  [email protected]
  [email protected]
  [email protected]
  [email protected]

请参阅其中的

[email protected]
行。

我对 Unity 完全陌生,而且我不使用 Windows。所以我想知道这是否与 C# 脚本相关(比如我必须在 Debian 中安装才能正确编译项目的库),或者错误是否特定于 TextMesh Pro 资产等。

如果有人遇到过此类错误,或者可以给我一些提示,让 Unity 在 Debian GNU/Linux 环境中工作......

c# linux unity-game-engine gnu
2个回答
4
投票
  1. 删除Asset文件夹中旧版本的TextMesh Pro

  2. 重新开放项目

  3. 窗口 -> TextMeshPro -> 导入 TMP 要点

  4. 窗口 -> TextMeshPro -> 项目文件 GUID 重新映射工具。

  5. 扫描并保存。

这将更新项目并修复所有丢失的 TMP 脚本。


0
投票

还有其他解决方案吗?我尝试了这个,但没有成功。没有要保存的文件,错误仍然在控制台中。

© www.soinside.com 2019 - 2024. All rights reserved.