Ошибка CS1644: функция `Нулевой распространяющий оператор 'не может быть использована, потому что она не является частью спецификации языка C # 4.0 - PullRequest
0 голосов
/ 04 февраля 2019

У меня Unity 2018.1.9f2, и я скачал агенты Unity ml и добавил папку в свой проект Unity.Но когда я пытаюсь запустить сцену «3DBall», я получаю эту ошибку в консоли:

Assets / ml-agents-master / UnitySDK / Assets / ML-Agents / Scripts / Brain.cs (79,25): ошибка CS1644: Нельзя распространять нулевой оператор функции ', поскольку он не является частью спецификации языка C # 4.0.Когда я дважды щелкаю по нему, он открывает VS и brainBatcher?.SendBrainInfo(name, agentInfos); подчеркивается.и когда я наводю курсор мыши на код, он говорит: Feature 'null propagating operator' is not available in C# 4. Please use language version 6 or greater.

Я пытался проследить ответ от другого вопроса: Синхронизация версий Unity Visual Studio C # .Поэтому я использовал интеграцию unity-c-5.0-and-6.0, и эта ошибка не отображалась, но я получил более 150 других ошибок.

Любая помощь будет высоко ценится.

Ответы [ 2 ]

0 голосов
/ 25 июня 2019

Почему бы просто не удалить ?

В моем случае следующее изменение исправляет сборку даже при использовании .net 3.5 framework


Action<DeleteObjectsResponse, string> result;

// Change:

//result?.Invoke(null, responseObj.Exception.ToString());

// To:

if (result != null)
   result.Invoke(null, responseObj.Exception.ToString());
0 голосов
/ 04 февраля 2019

Убедитесь, что в настройках проигрывателя / версии сценариев установлена ​​версия .NET 4.x, а не .NET 3.5

scripting runtime version

...