Любой способ найти ошибку с неизвестным именем файла в Unity? - относится к словарю тот же ключ - PullRequest
0 голосов
/ 01 мая 2020

Я пытаюсь восстановить старый проект, написанный другим человеком, это было в Unity версии 5.2.1f1.

Отредактировано: открывая его впервые, я имею эту ошибку, связанную с "Словарём с тот же ключ уже существует. "

Поскольку он был написан другим человеком, я не могу выполнить какой-либо тип трассировки" помните, где я работал со словарями ".

Если вы столкнетесь эта проблема, какие другие способы вы бы сделали, чтобы отследить словарную ошибку? Есть ли какие-либо специальные инструменты или хаки, которые мы можем сделать, чтобы иметь возможность копать глубже с этой ошибкой компиляции?

 Error: System.ArgumentException: An element with the same key already exists in the dictionary.
       at System.Collections.Generic.Dictionary`2[System.String,System.String].Add (System.String key, System.String value) [0x00000] in <filename unknown>:0 
       at us.UnityScriptCompilerFactory.FromCommandLineOptions (us.CommandLineOptions options) [0x00000] in <filename unknown>:0 
       at us.UsModule.compile (us.CommandLineOptions options) [0x00000] in <filename unknown>:0 
       at us.UsModule.runWithCommandLine (System.String[] commandLine) [0x00000] in <filename unknown>:0 
       at us.UsModule.Main (System.String[] argv) [0x00000] in <filename unknown>:0 

Не уверен, как отследить это, потому что имя файла неизвестно. Есть ли способ определить, где это находится? (Двойное нажатие не привело меня к строке ошибки).

Ответы [ 2 ]

2 голосов
/ 01 мая 2020

Проблема в коде есть словарь. Вы пытаетесь добавить запись, используя ключ, который уже существует в словаре (запись дублированного ключа), и это приводит к сбою вашей программы.

0 голосов
/ 01 мая 2020

Чтобы повысить точность ответа vasmos и без каких-либо других указаний в вашем коде,

, чтобы узнать, есть ли в вашем словаре дубликат ключа, вы можете использовать: ContainsKey

if (dico.ContainsKey(key)) 
{ ... }

или используйте TryGetValue

dico.TryGetValue(key, out value);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...