Unity 2019.3.0a7:Microsoft Visual C# 编译器错误

6

我已经升级到最新版本的Unity(Unity 2019.3.0a7),但是在不同的文件中遇到了大量相同的错误。

我的合作伙伴也在运行相同版本的Unity,但没有出现这些错误。

有两个错误,每个引用不同的包,但是每个包内部都引用了多个错误。

这些错误大致如下:

(R) Visual C# Compiler version 2.9.1.65535 (9d34608e)
Copyright (C) Microsoft Corporation. All rights reserved.

error CS1504: Source file 'D:\[...]\[UnityProject]\Library\PackageCache\com.unity.test-framework@1.0.16\UnityEngine.TestRunner\NUnitExtensions\Commands\BeforeAfterTestCommandState.cs' could not be opened -- The type initializer for 'Microsoft.CodeAnalysis.Text.EncodedStringText' threw an exception.

并且

Microsoft (R) Visual C# Compiler version 2.9.1.65535 (9d34608e)
Copyright (C) Microsoft Corporation. All rights reserved.

error CS1504: Source file 'C:\Program Files\Unity\Hub\Editor\2019.3.0a7\Editor\Data\Resources\PackageManager\BuiltInPackages\com.unity.ugui\Runtime\EventSystem\UIBehaviour.cs' could not be opened -- The type initializer for 'Microsoft.CodeAnalysis.Text.EncodedStringText' threw an exception.

在控制台的各自错误日志中报告了大约15-20个这些错误,但所有错误都说了同样的事情(同一错误代码)有关抛出异常。

我以前从未见过这个错误,并且在网上找不到任何有关它的帮助。我的所有软件包都是最新的。我感到很困惑。

我真的很感激任何关于如何修复此问题的建议。


1
你们为什么要使用 alpha 版本(也就是说,如果它没有吃掉你的孩子,你应该庆祝一下)?通常不会看到像这样的 Visual C# 错误。因为 Unity 编译是在 Unity IDE 内部完成的。所以,我建议删除包并重新下载它。 - BugFinder
1
正如BugFinder已经说过的那样,除了尝试新功能之外,不要使用alphabeta版本。它们不稳定,不能用于生产!坚持使用最新的稳定版本,目前是2019.1.8f1(在切换版本之前进行备份)。由于第一个错误涉及到Library文件夹,您可能想要完全重置项目文件夹。在这个答案中我解释了如何操作。 - derHugo
我不知道...他们坚持要我们使用Alpha,理由不明(我有些犹豫,但只要它能用就行 - 显然它不能用。现在是时候试着说服他们为了理智而降级了,否则我想我就无法合作了:L :) - NeoKuro
2个回答

16

卸载Anaconda和Python可能会导致这些问题,因为Windows注册表中残留了一些文件。

在我的情况下,在注册表编辑器中删除以下键可以解决问题:

Computer\HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun

它指向的是在Anaconda卸载过程中被删除的文件。


看到这个,我决定不卸载我的Anaconda,只是在Regedit中删除密钥,然后它开始工作了。看起来这是这种问题的唯一来源。我正在使用Unity版本2020.3.5f1。 - jcameron47

7
  • 关闭 Unity
  • 删除 Library 文件夹
  • 重新在 Unity 中打开该项目并等待其重新导入项目

这样应该可以解决问题。如果仍然存在问题,则可能是您的 Unity 版本存在一些错误。


很遗憾,什么都没用。不过还是谢谢。我已经决定降级(升级?)到最新的稳定版Unity了。 - NeoKuro
这并没有帮助,而且奇怪的是版本2019.3.0f3几天前还能正常工作,但现在我被这个微软错误卡住了,无法编译。我试着更新Visual Studio Community,以防C#编译器出问题。 - Gregory Fenn
1
我可能解决了我的问题,也许可以帮助其他人:我不能确定,但是我可能像这样修复了它:请查看此链接和我认为不相关的问题的解决方案https://superuser.com/questions/727316/error-in-command-line-the-system-cannot-find-the-path-specified对我来说,删除"HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun"的注册表值解决了问题。 - Gregory Fenn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接