Ошибка Unity3d CS2011: ошибка при открытии файла ответов (неверная временная папка)

Мне требуется ваша помощь. (уже опубликовано в здесь без помощи)

Я только что установил Unity на второй компьютер в «C:\Program Files\Unity\Hub\Editor\2019.1.5f1\» и получаю 5 ошибок сразу после запуска Unity и не могу ничего ни скомпилировать, ни войти в режим воспроизведения Unity. На моем первом компе этих ошибок нет. Неважно, пустой это проект или проект с большим количеством ресурсов. Оба компьютера работают на 64-битной Windows 10 с Visual Studio Professional 2017. Переустановки Unity и Visual Studio пока не помогли.

Изображение: консоль Unity с ошибками

Я уже читал много других сообщений о подобных проблемах, связанных с «файлом ответов при открытии ошибки», но в основном они касались символических ссылок или путей с защитой от записи. Моя проблема кажется другой: редактор находится только в «C:\Program Files\Unity\Hub\Editor\2019.1.5f1\», а проект — в «C:\Projekte\New Unity Project\». Изменение пути к проекту не имеет значения. Я уже пробовал 3 разных места на диске.

Просматривая файл Editor.log для получения подробной информации, я вижу, что 5 временных файлов вызывают такую ​​​​ошибку:

 -----Compiler Commandline Arguments:
 Filename: C:\Program Files\Unity\Hub\Editor\2019.1.5f1\Editor\Data\Tools\RoslynScripts\unity_csc.bat
 Arguments: /noconfig @Temp/UnityTempFile-e08d5c71413756945837148f68a69ad6
 Responsefile: Temp/UnityTempFile-e08d5c71413756945837148f68a69ad6 Contents: 
 /target:library
 /nowarn:0169
 /out:Temp/Unity.TextMeshPro.dll

[За ним следует около 300 строк настроек, /reference, /define и путей, а затем...]

 -----CompilerOutput:-stdout--exitcode: 1--compilationhadfailure: True--outfile: Temp/Unity.TextMeshPro.dll
 Microsoft (R) Visual C# Compiler version 2.9.1.65535 (9d34608e)
 Copyright (C) Microsoft Corporation. All rights reserved.

 error CS2011: Error opening response file 'C:\Windows\System32\Temp/UnityTempFile-6d2a68ef4f8feff48b081cfff22fd108'
 warning CS2008: No source files specified.
 error CS1562: Outputs without source must have the /out option specified
 -----CompilerOutput:-stderr----------
 -----EndCompilerOutput---------------
 - Finished compile Library/ScriptAssemblies/Unity.TextMeshPro.dll

Чем они отличаются друг от друга, так это этими строками:

Ошибка 1:

 -----CompilerOutput: [...] True--outfile: Temp/Unity.TextMeshPro.dll
 error CS2011: Error opening response file 'C:\Windows\System32\Temp/UnityTempFile-6d2a68ef4f8feff48b081cfff22fd108'
 - Finished compile Library/ScriptAssemblies/Unity.TextMeshPro.dll

Ошибка 2:

 -----CompilerOutput: [...] True--outfile: Temp/Unity.Timeline.dll
 error CS2011: Error opening response file 'C:\Windows\System32\Temp/UnityTempFile-e08d5c71413756945837148f68a69ad6'
 - Finished compile Library/ScriptAssemblies/Unity.Timeline.dll

Ошибка 3:

 -----CompilerOutput: [...] True--outfile: Temp/Unity.PackageManagerUI.Editor.dll
 error CS2011: Error opening response file 'C:\Windows\System32\Temp/UnityTempFile-f2661e8f7fbea0e48843d231bc5bf5d2'
 - Finished compile Library/ScriptAssemblies/Unity.PackageManagerUI.Editor.dll

Ошибка 4:

 -----CompilerOutput: [...] True--outfile: Temp/Unity.CollabProxy.Editor.dll
 error CS2011: Error opening response file 'C:\Windows\System32\Temp/UnityTempFile-6b0dbb9b1dfd0a24f95ef817f65e991f'
 - Finished compile Library/ScriptAssemblies/Unity.CollabProxy.Editor.dll

Ошибка 5:

 -----CompilerOutput: [...] True--outfile: Temp/Unity.Analytics.DataPrivacy.dll
 error CS2011: Error opening response file 'C:\Windows\System32\Temp/UnityTempFile-6b3cf37143da036458b1886861b10eb3'
 - Finished compile Library/ScriptAssemblies/Unity.Analytics.DataPrivacy.dll

Но что у них всех общего, так это отсутствие файла ответов в "C:\Windows\System32\Temp\". Я не знаю, почему они ищут в этой папке, так как все эти 5 временных файлов существуют, но в папке проекта Unity, где я их и ожидал. Unity просто не смотрит в эту папку.

Изображение: временные файлы Unity в правильном расположении Проводника

Что это может быть и как это исправить?

С уважением, Кристиан


person Christian Flock    schedule 17.06.2019    source источник
comment
Добро пожаловать в StackOverflow! Обратите внимание, что C:\Windows\System32\Temp не то же самое, что ...\NewUnityProject\Temp .... поэтому я предполагаю, что что-то уже не так с тем, где VS ищет эти файлы ...   -  person derHugo    schedule 17.06.2019
comment
Спасибо, Дер Хьюго. Рад быть здесь! Вы правы, но я не знаю, как исправить это неправильное поведение.   -  person Christian Flock    schedule 17.06.2019
comment
поскольку C обычно является системной папкой с защитой от записи, и вы храните свой проект в C:\Projekte\New Unity Project .. Я знаю, что вы упоминали об этом, но пытались ли вы сохранить/создать проект на самом деле в вашей папке C:\Users\<USER>\Documents?   -  person derHugo    schedule 17.06.2019
comment
у вас, кажется, определена глобальная переменная @Temp, которая ссылается на C:\Windows\System32\Temp, когда VS пытается открыть, например. Temp/Unity.TextMeshPro.dll, поэтому он использует Систему Temp вместо этого ... никогда раньше этого не видел   -  person derHugo    schedule 17.06.2019
comment
Я еще не пробовал C:\Users\<USER>\Documents, но D:\Projekte на моем жестком диске, а не C:\Projekte на моем SSD. Я попробую ваше предложение позже.   -  person Christian Flock    schedule 17.06.2019


Ответы (1)


Недавно я нашел связанный пост :

Оказывается, мое рабочее место установило ключ HKEY_CURRENT_USER\SOFTWARE\Microsoft\Command Processor\Autorun в реестре, чтобы изменить мой текущий рабочий каталог на system32, что вызвало проблему.

Я удалил ключ из реестра, и теперь он снова работает!

person Christian Flock    schedule 28.07.2019