Каков общий способ удаления ошибки "Имя xxx не существует" при перекомпиляции unity3d C# dll?
Как мы знаем, существует несколько способов декомпиляции файлов DLL Unity3d для обратного инжиниринга исходного кода C# через ( dotpeek, ILSpy и Reflector)
Пример: [Целевой файл] Unity3D_Game_RootPath / Managed / Assembly-CSharp.dll
- Assembly-CSharp.dll => (один из вышеперечисленных инструментов) => Экспорт / Сохранить в.sln
- Расширение файла проекта C#.sln => открыть в visualStudio
- Переключитесь в "Обозреватель решений", чтобы проверить и добавить все необходимые ссылки (включаемые библиотеки, такие как System, UnityEngine.dll, UnityEngineUI.dll и т. Д.....)
- Пройдя Шаг 3, вы удалите большинство опорных ошибок (красные подсветки в IDE)
Однако, как правило, декомпилированный исходный код по-прежнему содержит множество шаблонов ошибок ниже:
Пример:
iTween.<>f__switch$mapA == null
ошибка типа I: имя "xxx" не завершается (CS1513)
ошибка типа II: неожиданный символ '$'
хотел бы знать, что является причиной вышеупомянутых общих ошибок в процессе декомпиляции, упомянутом выше, и каков будет общий способ их устранения.
Последняя цель вышеуказанного процесса - попытаться удалить ошибки перекомпиляции и успешно перекомпилировать исходный код, созданный из инструментов декомпиляции C# ( dotpeek, ILSpy и Reflector), в исполняемый dll, чтобы заменить старый.