Каков общий способ удаления ошибки "Имя xxx не существует" при перекомпиляции unity3d C# dll?

Как мы знаем, существует несколько способов декомпиляции файлов DLL Unity3d для обратного инжиниринга исходного кода C# через ( dotpeek, ILSpy и Reflector)

Пример: [Целевой файл] Unity3D_Game_RootPath / Managed / Assembly-CSharp.dll

  1. Assembly-CSharp.dll => (один из вышеперечисленных инструментов) => Экспорт / Сохранить в.sln
  2. Расширение файла проекта C#.sln => открыть в visualStudio
  3. Переключитесь в "Обозреватель решений", чтобы проверить и добавить все необходимые ссылки (включаемые библиотеки, такие как System, UnityEngine.dll, UnityEngineUI.dll и т. Д.....)
  4. Пройдя Шаг 3, вы удалите большинство опорных ошибок (красные подсветки в IDE)

Однако, как правило, декомпилированный исходный код по-прежнему содержит множество шаблонов ошибок ниже:

Пример: iTween.<>f__switch$mapA == null

ошибка типа I: имя "xxx" не завершается (CS1513)

ошибка типа II: неожиданный символ '$'

хотел бы знать, что является причиной вышеупомянутых общих ошибок в процессе декомпиляции, упомянутом выше, и каков будет общий способ их устранения.

Последняя цель вышеуказанного процесса - попытаться удалить ошибки перекомпиляции и успешно перекомпилировать исходный код, созданный из инструментов декомпиляции C# ( dotpeek, ILSpy и Reflector), в исполняемый dll, чтобы заменить старый.

0 ответов

Другие вопросы по тегам