为什么它用不同的类型编译?
Why it compiles with different type?
错误:
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:
我试过直接写
private System.Collections.IEnumerator MyIEnumeratorFunc(){}
我尝试删除
using System.Collections.Generics;
并将其附加到每个 List/Dictionary 条目
在编辑器中一切正常,但我收到上面描述的错误:
好像它试图使用 System.Collections.GENERICS.IEnumerator.
此外,如果我使用源代码(不是 .dll),错误就会消失
此外,您可以通过使用任何 IEnumerator/async 函数(甚至是空的)创建 .dll 来重现它,并为 iOS.
构建
问题出在项目名称中。
解决方案是
在解决方案资源管理器中用鼠标右键单击项目名称(不是解决方案名称)。
属性
"Application" 选项卡
程序集名称 -> 设置为与 .dll 文件名称相同(不带“.dll”)
错误:
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:
我试过直接写
private System.Collections.IEnumerator MyIEnumeratorFunc(){}
我尝试删除
using System.Collections.Generics;
并将其附加到每个 List/Dictionary 条目 在编辑器中一切正常,但我收到上面描述的错误: 好像它试图使用 System.Collections.GENERICS.IEnumerator.
此外,如果我使用源代码(不是 .dll),错误就会消失
此外,您可以通过使用任何 IEnumerator/async 函数(甚至是空的)创建 .dll 来重现它,并为 iOS.
构建问题出在项目名称中。 解决方案是
在解决方案资源管理器中用鼠标右键单击项目名称(不是解决方案名称)。
属性
"Application" 选项卡
程序集名称 -> 设置为与 .dll 文件名称相同(不带“.dll”)