【问题标题】:Unity cannot recognize some .cs files after pulling a project from git从 git 拉取项目后,Unity 无法识别某些 .cs 文件
【发布时间】:2021-05-01 01:43:25
【问题描述】:

我目前正在使用 Unity 2020.3.3f1 开发一个项目。我使用 git 版本控制系统并将我的项目存储在 Bitbucket 存储库中。当我将我的项目克隆/拉到另一台计算机(尤其是使用 macos)时,我的一些 cs.文件在项目视图中显示为未知文件(不是脚本),并且一些其他类找不到在该文件上定义的类。当我右键单击并选择“重新导入”cs文件时,立即恢复并成功构建。

当我尝试通过 Unity Cloud 构建 构建我的项目时,这给我带来了一个问题,因为我收到了关于某些确实存在的缺失类的错误。

[Unity] Initialize engine version: 2020.3.6f1 (338bb68529b2)
3: [Unity] -----CompilerOutput:-stdout--exitcode: 1--compilationhadfailure: True--outfile: Temp/ToonyColorsPro.Editor.dll
4: [Unity] Assets/JMO Assets/Toony Colors Pro/Editor/Shader Generator/Config.cs(192,13): error CS0246: The type or namespace name 'MaterialLayer' could not be found (are you missing a using directive or an assembly reference?)
5: [Unity] Assets/JMO Assets/Toony Colors Pro/Editor/Shader Generator/ShaderProperty.cs(417,40): error CS0246: The type or namespace name 'MaterialLayer' could not be found (are you missing a using directive or an assembly reference?)
6: [Unity] Assets/JMO Assets/Toony Colors Pro/Editor/Shader Generator/Config.cs(173,59): error CS0246: The type or namespace name 'MaterialLayer' could not be found (are you missing a using directive or an assembly reference?)
7: [Unity] Assets/JMO Assets/Toony Colors Pro/Editor/Shader Generator/Config.cs(192,13): error CS0246: The type or namespace name 'MaterialLayer' could not be found (are you missing a using directive or an assembly reference?)
8: [Unity] Assets/JMO Assets/Toony Colors Pro/Editor/Shader Generator/ShaderProperty.cs(417,40): error CS0246: The type or namespace name 'MaterialLayer' could not be found (are you missing a using directive or an assembly reference?)
9: [Unity] Assets/JMO Assets/Toony Colors Pro/Editor/Shader Generator/Config.cs(173,59): error CS0246: The type or namespace name 'MaterialLayer' could not be found (are you missing a using directive or an assembly reference?)
10: ! build of 'default-ios-ad-hoc' failed. exit
11: publishing finished successfully.
12: Finished: FAILURE

之后我尝试从 Mac 设备中提取项目,该项目也无法识别相同的 MaterialLayer.cs。我使用“重新导入”轻松恢复。 我的项目设置/资产序列化:强制文本和“版本控制/可见元文件”已经设置。

【问题讨论】:

  • 您可以检查统一为每个文件生成的相应 .meta 文件是否已上传到存储库。只是为了让您了解可以检查的内容...

标签: c# git unity3d atlassian-sourcetree


【解决方案1】:

这是一个很长的镜头,我写答案只是因为我可以在这里附上图片:

C# 解决方案中的每个文件都有属性:

所以我的建议是仔细检查那些“丢失”、“未知”.cs 文件是否具有与正确识别的.cs 文件相同的属性设置。

【讨论】:

    【解决方案2】:

    如果您在 git 上使用 LFS,则当 LFS 拉取错误或元文件在拉取文件期间损坏时,有时会发生此问题,请仔细检查您的 .gitattributes.meta 的合并选项可能分配错误。我在我的项目中使用this.gitattributes,这仍然没有问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-19
      • 2022-01-24
      • 1970-01-01
      • 2011-06-23
      • 2019-04-17
      • 2018-05-27
      • 2019-01-06
      相关资源
      最近更新 更多