Почему он компилируется с другим типом? - PullRequest
0 голосов
/ 15 мая 2019

Ошибка:

IL2CPP error for type 'Namespace.SubNamespace.MyClass/<MyIEnumeratorFunc>d__20' in assembly 'Path\MyUnityProject\Temp\StagingArea\Data\Managed\VisualStudioSolutionName.dll'
Additional information: Interface System.Collections.Generic.IEnumerator`1<System.Object> method T System.Collections.Generic.IEnumerator`1<System.Object>::get_Current() not implemented on non-abstract class Namespace.SubNamespace.MyClass/<MyIEnumeratorFunc>d__20

Unity ожидает System.Collections.IEnumerator, и я пытаюсь использовать IEnumerator:

  1. Я пытался писать напрямую

    private System.Collections.IEnumerator MyIEnumeratorFunc(){}
    
  2. Я пытался удалить

    using System.Collections.Generics;
    

    и добавить его к каждой записи списка / словаря. Все работает в редакторе, но я получаю сообщение об ошибке, которое я описал выше: Похоже, он пытаетсяиспользовать System.Collections.GENERICS.IEnumerator.

Кроме того, ошибка исчезает, если я использую исходный код (не .dll)

Кроме того, вы можете воспроизвести его, создав.dll с любой функцией IEnumerator / async (даже пустой) и сборкой для iOS.

1 Ответ

0 голосов
/ 15 мая 2019

Проблема была в названии проекта. Решение

  1. Щелкните правой кнопкой мыши имя проекта (не имя решения) в обозревателе решений.

  2. Свойства

  3. Вкладка «Приложение»

  4. Имя сборки -> установить то же имя файла DLL (без ".dll")

...