0

我正在尝试导入一个使用 System.Collections.Generic.List (Iserialization) 的 dll,但是每当调用该类时,我都会收到以下异常,在过去 4 小时的试用错误后我无法正常工作:

Exception: System.TypeLoadException: Could not load type 'System.Collections.Generic.List`1[[SD_Library.PLItem, SD Library, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'.
  at (wrapper managed-to-native) System.Type:internal_from_name (string,bool,bool)
  at System.Type.GetType (System.String typeName, Boolean throwOnError) [0x00011] in /Users/builduser/buildslave/monoAndRuntimeClassLibs/build/mcs/class/corlib/System/Type.cs:471 
  at System.Runtime.Serialization.Formatters.Binary.ObjectReader.ReadTypeMetadata (System.IO.BinaryReader reader, Boolean isRuntimeObject, Boolean hasTypeInfo) [0x000bc] in /Users/builduser/buildslave/monoAndRuntimeClassLibs/build/mcs/class/corlib/System.Runtime.Serialization.Formatters.Binary/ObjectReader.cs:640 
  at System.Runtime.Serialization.Formatters.Binary.ObjectReader.ReadObjectInstance (System.IO.BinaryReader reader, Boolean isRuntimeObject, Boolean hasTypeInfo, System.Int64& objectId, System.Object& value, System.Runtime.Serialization.SerializationInfo& info) [0x0000a] in /Users/builduser/buildslave/monoAndRuntimeClassLibs/build/mcs/class/corlib/System.Runtime.Serialization.Formatters.Binary/ObjectReader.cs:269 
  at System.Runtime.Serialization.Formatters.Binary.ObjectReader.ReadObject (BinaryElement element, System.IO.BinaryReader reader, System.Int64& objectId, System.Object& value, System.Runtime.Serialization.SerializationInfo& info) [0x0008a] in /Users/builduser/buildslave/monoAndRuntimeClassLibs/build/mcs/class/corlib/System.Runtime.Serialization.Formatters.Binary/ObjectReader.cs:191 
  at System.Runtime.Serialization.Formatters.Binary.ObjectReader.ReadObject (BinaryElement element, System.IO.BinaryReader reader, System.Int64& objectId, System.Object& value, System.Runtime.Serialization.SerializationInfo& info) [0x00105] in /Users/builduser/buildslave/monoAndRuntimeClassLibs/build/mcs/class/corlib/System.Runtime.Serialization.Formatters.Binary/ObjectReader.cs:223 
  at System.Runtime.Serialization.Formatters.Binary.ObjectReader.ReadNextObject (BinaryElement element, System.IO.BinaryReader reader) [0x00020] in /Users/builduser/buildslave/monoAndRuntimeClassLibs/build/mcs/class/corlib/System.Runtime.Serialization.Formatters.Binary/ObjectReader.cs:130 
  at System.Runtime.Serialization.Formatters.Binary.ObjectReader.ReadObjectGraph (BinaryElement elem, System.IO.BinaryReader reader, Boolean readHeaders, System.Object& result, System.Runtime.Remoting.Messaging.Header[]& headers) [0x00004] in /Users/builduser/buildslave/monoAndRuntimeClassLibs/build/mcs/class/corlib/System.Runtime.Serialization.Formatters.Binary/ObjectReader.cs:104 
  at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.NoCheckDeserialize (System.IO.Stream serializationStream, System.Runtime.Remoting.Messaging.HeaderHandler handler) [0x00078] in /Users/builduser/buildslave/monoAndRuntimeClassLibs/build/mcs/class/corlib/System.Runtime.Serialization.Formatters.Binary/BinaryFormatter.cs:179 
  at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize (System.IO.Stream serializationStream) [0x00000] in /Users/builduser/buildslave/monoAndRuntimeClassLibs/build/mcs/class/corlib/System.Runtime.Serialization.Formatters.Binary/BinaryFormatter.cs:136 
  at GameManager.OpenStream (System.String saveLocation) [0x0003c] in C:\Users\Chris\Documents\Repositories\PL2D\Assets\Scripts\GameManager.cs:568 
UnityEngine.Debug:LogError(Object)
GameManager:OpenStream(String) (at Assets/Scripts/GameManager.cs:572)
GameManager:LoadItemDatabase() (at Assets/Scripts/GameManager.cs:457)
GameManager:Start() (at Assets/Scripts/GameManager.cs:188)
GameManager:Awake() (at Assets/Scripts/GameManager.cs:440)

我正在使用 MonoDevelop 4.0.1 和 Unity 4.3.3。

有什么建议么?问题类非常简单。它只有一堆浮点数、字符串、整数、一个字典和一个列表。它在保存对象时使用 Iserialization 并与 ISerializable 接口。该列表是另一个类的列表,它也是可序列化的。

4

1 回答 1

0

虽然 Visual Studio C# 2010 允许在程序集名称中使用空格,但 Mono 不喜欢这样。一旦我删除了名称中的空格,所有问题都解决了,现在它可以工作了。

于 2014-03-30T14:11:16.543 回答