不使用IL2CPP.Here的构造函数是我得到的日志。
MissingMethodException:方法找不到:‘默认构造函数不是System.ComponentModel.Byte转换器的found...ctor()’。在System.ArgumentNullException..ctor (System.String paramName) 0x00000 in :0 at System.Activator.CreateInstance (System.Type类型,布尔nonPublic) 0x00000 in :0 at System.Activator.CreateInstance (System.Type类型) 0x00000 in :0 at at System.Activator.CreateInstance (System.Type type) 0x00000 in :0 at JsonFx.Json.TypeCoercionUtility.CoerceType (System.Type targetType )( System.Object值) 0x00000 in :0 at JsonFx.Json.JsonReader.ReadNumber (System.Type expectedType) 0x00000 in :0 at JsonFx.Json.JsonReader.Read (System.Type expectedType,Boolean ) 0x00000 in :0 在JsonFx.Json.JsonReader.ReadArray (System.Type arrayType) 0x00000 in :0 at JsonFx.Json.JsonReader.Read (System.Type expectedType,Boolean ) 0x00000 in :0 在JsonFx.Json.JsonReader.ReadObject (System.Type objectType) 0x00000 in :0 at JsonFx.Json.JsonReader.Read (System.Type expectedType,Boolean ) 0x00000 in :0 at JsonFx.Json.JsonReader.ReadObject (System.Type objectType) 0x00000 in :0 at JsonFx.Json.JsonReader.Read (System.Type expectedType,Boolean typeIsHint) 0x00000 in :0 at JsonFx.Json.JsonReader.ReadObject (System.Type objectType) 0x00000 in :0 at JsonFx.Json.JsonReader.ReadObject(JsonFx.Json.JsonReader.ReadObject,Boolean ) 0x00000 in :0 在JsonFx.Json.JsonReader.ReadObject (System.Type objectType) 0x00000 in :0 at JsonFx.Json.JsonReader.Read (System.Type expectedType,Boolean ) 0x00000 in :0 at JsonFx.Json.JsonReader.Deserialize (Int32 start,System.Type type) 0x00000 in :0 at JsonFx.Json.JsonReader.Deserialize (System.String值,Int32 start,0x00000 in :0 at JsonFx.Json.JsonReader.DeserializeBGS 0x00000 in :0 at GameData.ParseJson () 0x00000 in :0 at GameData.loaddata () 0x00000 in :0 at mainmenuUI.Start () 0x00000 in :0 at GameData.ParseJson()0x00000 in:0 at GameData.loaddata()0x00000 in:0 at mainmenuUI.Start()0x00000 in:0 at GameData.ParseJson()0x00000 in:0 at GameData.loaddata()0x00000 in:0 at mainmenuUI.Start()0x00000 in:0 at GameData.ParseJson()0x00000 in:0 at GameData.loaddata()0x00000 in:0 at mainmenuUI.Start()0x00000 in:0 at GameData.ParseJson()0x00000 in:0 at GameData.loaddata()0x00000 in:0 at mainmenuUI.Start()0x00000 in:0 at GameData.ParseJson()0x00000 in:0 at GameData.loaddata()0x00000
发布于 2015-06-15 10:32:04
这看起来确实是脱衣舞的问题。请注意,虽然统一编辑器中的“剥离级别”设置可能被设置为“禁用”,但IL2CPP脚本后端仍将执行等效的字节代码剥离。
正如Marius所提到的,您需要显式地告诉不要剥离ByteConverter类型。可以在资产目录中添加具有以下内容的link.xml文件:
<linker>
<assembly fullname="System">
<type fullname="System.ComponentModel.ByteConverter" preserve="all"/>
</assembly>
</linker>
这将保留ByteConverter类型( preserve="all"
元素)中的所有内容,这可能有点过了,但是您可以按照文档来最小化程序集中保存的IL代码的数量。
发布于 2015-06-15 09:07:47
这是脱衣舞的错误。使用IL2CPP,始终启用程序集剥离。尝试更新到最新的统一版本。否则,您可以显式防止名称空间剥离。。
https://stackoverflow.com/questions/30840692
复制相似问题