Halfling.Serialization.DeserializeException: Deserialization from source "<C:\Program Files\Cosmoteer\Cosmoteer\Data\rules.txt>" failed. ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> Halfling.Serialization.DeserializeException: Deserialization from source "<C:\Program Files\Cosmoteer\Cosmoteer\Data\ships\terran\terran.txt>/Terran" failed. ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> Halfling.Serialization.DeserializeException: Deserialization from source "<[user's home folder]\Documents\My Games\Cosmoteer\Mods\Warhammer mod(6)\Warhammer mod\parts\laser\laser.txt>/Part" failed. ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> Halfling.Serialization.DeserializeException: Unable to find source for non-optional field "ID" in source "<[user's home folder]\Documents\My Games\Cosmoteer\Mods\Warhammer mod(6)\Warhammer mod\parts\laser\laser.txt>/Part".
at Halfling.Serialization.Base.BaseSerializer`10.ReflectiveRead(TSource source, Object target, DeserializationReflectionInfo dri, Boolean forceNoOption, ProgressTracker pt) in C:\Users\Walt\Documents\Code\Cosmoteer\Halfling\HalflingCore\Serialization\Base\BaseSerializer.cs:line 762
at Halfling.Serialization.Base.BaseSerializer`10.ReflectiveRead(TSource source, Object target, Boolean forceNoOption, ProgressTracker progressTracker) in C:\Users\Walt\Documents\Code\Cosmoteer\Halfling\HalflingCore\Serialization\Base\BaseSerializer.cs:line 236
at Cosmoteer.Ships.Parts.PartRules..ctor(ObjectTextSerializer s, IOTNode node, ProgressTracker pt) in C:\Users\Walt\Documents\Code\Cosmoteer\Source\Ships\Parts\PartRules.cs:line 168
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at Halfling.Serialization.Base.BaseSerializer`10.SpecificConstructorDeserializationMethod.TryDeserialize(TSerializer s, TSource source, Type type, ReadFlags flags, ProgressTracker progressTracker, Object& obj) in C:\Users\Walt\Documents\Code\Cosmoteer\Halfling\HalflingCore\Serialization\Base\BaseSerializer.cs:line 2178
at Halfling.Serialization.Base.BaseSerializer`10.Read(TSource source, Type type, ReadFlags flags, ProgressTracker pt, Single weight, String sliceName, TIBaseDeserializer overrideSpecificDeserializer, IGenericDeserializer overrideGenericDeserializer, TIBaseContentDeserializer overrideSpecificContentDeserializer, IGenericContentDeserializer overrideGenericContentDeserializer) in C:\Users\Walt\Documents\Code\Cosmoteer\Halfling\HalflingCore\Serialization\Base\BaseSerializer.cs:line 556
--- End of inner exception stack trace ---
at Halfling.Serialization.Base.BaseSerializer`10.Read(TSource source, Type type, ReadFlags flags, ProgressTracker pt, Single weight, String sliceName, TIBaseDeserializer overrideSpecificDeserializer, IGenericDeserializer overrideGenericDeserializer, TIBaseContentDeserializer overrideSpecificContentDeserializer, IGenericContentDeserializer overrideGenericContentDeserializer) in C:\Users\Walt\Documents\Code\Cosmoteer\Halfling\HalflingCore\Serialization\Base\BaseSerializer.cs:line 618
at Halfling.Serialization.Base.BaseSerializer`10.Read(TSource source, Type type, ReadFlags flags, ProgressTracker progressTracker) in C:\Users\Walt\Documents\Code\Cosmoteer\Halfling\HalflingCore\Serialization\Base\BaseSerializer.cs:line 184
at Halfling.Serialization.DefaultSerializers.ArraySerializer.FillArrayRanks(Array a, Type elementType, ObjectTextSerializer serializer, IOTNode curNode, List`1 curIndices, Int32 numRanks, ProgressTracker pt) in C:\Users\Walt\Documents\Code\Cosmoteer\Halfling\HalflingCore\Serialization\DefaultSerializers\ArraySerializer.cs:line 332
at Halfling.Serialization.DefaultSerializers.ArraySerializer.FillArrayRanks(Array a, Type elementType, ObjectTextSerializer serializer, IOTNode curNode, List`1 curIndices, Int32 numRanks, ProgressTracker pt) in C:\Users\Walt\Documents\Code\Cosmoteer\Halfling\HalflingCore\Serialization\DefaultSerializers\ArraySerializer.cs:line 352
at Halfling.Serialization.DefaultSerializers.ArraySerializer.Read(ObjectTextSerializer s, IOTNode node, Type type, ProgressTracker progressTracker) in C:\Users\Walt\Documents\Code\Cosmoteer\Halfling\HalflingCore\Serialization\DefaultSerializers\ArraySerializer.cs:line 107
at Halfling.Serialization.Base.BaseSerializer`10.SpecificDeserializerDeserializationMethod.TryDeserialize(TSerializer s, TSource source, Type type, ReadFlags flags, ProgressTracker progressTracker, Object& obj) in C:\Users\Walt\Documents\Code\Cosmoteer\Halfling\HalflingCore\Serialization\Base\BaseSerializer.cs:line 1987
at Halfling.Serialization.Base.BaseSerializer`10.Read(TSource source, Type type, ReadFlags flags, ProgressTracker pt, Single weight, String sliceName, TIBaseDeserializer overrideSpecificDeserializer, IGenericDeserializer overrideGenericDeserializer, TIBaseContentDeserializer overrideSpecificContentDeserializer, IGenericContentDeserializer overrideGenericContentDeserializer) in C:\Users\Walt\Documents\Code\Cosmoteer\Halfling\HalflingCore\Serialization\Base\BaseSerializer.cs:line 556
at Halfling.Serialization.Base.BaseSerializer`10.ReflectiveRead(TSource source, Object target, DeserializationReflectionInfo dri, Boolean forceNoOption, ProgressTracker pt) in C:\Users\Walt\Documents\Code\Cosmoteer\Halfling\HalflingCore\Serialization\Base\BaseSerializer.cs:line 692
at Halfling.Serialization.Base.BaseSerializer`10.GenericSerialReaderImpl.ReflectiveRead(Object target, Type type, Boolean forceNoOption, ProgressTracker progressTracker) in C:\Users\Walt\Documents\Code\Cosmoteer\Halfling\HalflingCore\Serialization\Base\BaseSerializer.cs:line 2663
at Halfling.Serialization.Generic.GenericSerialReader.ReflectiveRead(Object target, Boolean forceNoOption, ProgressTracker progressTracker) in C:\Users\Walt\Documents\Code\Cosmoteer\Halfling\HalflingCore\Serialization\Generic\GenericSerialReader.cs:line 134
at Cosmoteer.Ships.ShipRules..ctor(GenericSerialReader reader, ProgressTracker pt) in C:\Users\Walt\Documents\Code\Cosmoteer\Source\Ships\ShipRules.cs:line 129
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at Halfling.Serialization.Base.BaseSerializer`10.GenericConstructorDeserializationMethod.TryDeserialize(TSerializer s, TSource source, Type type, ReadFlags flags, ProgressTracker progressTracker, Object& obj) in C:\Users\Walt\Documents\Code\Cosmoteer\Halfling\HalflingCore\Serialization\Base\BaseSerializer.cs:line 2255
at Halfling.Serialization.Base.BaseSerializer`10.Read(TSource source, Type type, ReadFlags flags, ProgressTracker pt, Single weight, String sliceName, TIBaseDeserializer overrideSpecificDeserializer, IGenericDeserializer overrideGenericDeserializer, TIBaseContentDeserializer overrideSpecificContentDeserializer, IGenericContentDeserializer overrideGenericContentDeserializer) in C:\Users\Walt\Documents\Code\Cosmoteer\Halfling\HalflingCore\Serialization\Base\BaseSerializer.cs:line 556
--- End of inner exception stack trace ---
at Halfling.Serialization.Base.BaseSerializer`10.Read(TSource source, Type type, ReadFlags flags, ProgressTracker pt, Single weight, String sliceName, TIBaseDeserializer overrideSpecificDeserializer, IGenericDeserializer overrideGenericDeserializer, TIBaseContentDeserializer overrideSpecificContentDeserializer, IGenericContentDeserializer overrideGenericContentDeserializer) in C:\Users\Walt\Documents\Code\Cosmoteer\Halfling\HalflingCore\Serialization\Base\BaseSerializer.cs:line 618
at Halfling.Serialization.Base.BaseSerializer`10.Read(TSource source, Type type, ReadFlags flags, ProgressTracker progressTracker) in C:\Users\Walt\Documents\Code\Cosmoteer\Halfling\HalflingCore\Serialization\Base\BaseSerializer.cs:line 184
at Halfling.Serialization.DefaultSerializers.ArraySerializer.FillArrayRanks(Array a, Type elementType, ObjectTextSerializer serializer, IOTNode curNode, List`1 curIndices, Int32 numRanks, ProgressTracker pt) in C:\Users\Walt\Documents\Code\Cosmoteer\Halfling\HalflingCore\Serialization\DefaultSerializers\ArraySerializer.cs:line 332
at Halfling.Serialization.DefaultSerializers.ArraySerializer.FillArrayRanks(Array a, Type elementType, ObjectTextSerializer serializer, IOTNode curNode, List`1 curIndices, Int32 numRanks, ProgressTracker pt) in C:\Users\Walt\Documents\Code\Cosmoteer\Halfling\HalflingCore\Serialization\DefaultSerializers\ArraySerializer.cs:line 352
at Halfling.Serialization.DefaultSerializers.ArraySerializer.Read(ObjectTextSerializer s, IOTNode node, Type type, ProgressTracker progressTracker) in C:\Users\Walt\Documents\Code\Cosmoteer\Halfling\HalflingCore\Serialization\DefaultSerializers\ArraySerializer.cs:line 107
at Halfling.Serialization.Base.BaseSerializer`10.SpecificDeserializerDeserializationMethod.TryDeserialize(TSerializer s, TSource source, Type type, ReadFlags flags, ProgressTracker progressTracker, Object& obj) in C:\Users\Walt\Documents\Code\Cosmoteer\Halfling\HalflingCore\Serialization\Base\BaseSerializer.cs:line 1987
at Halfling.Serialization.Base.BaseSerializer`10.Read(TSource source, Type type, ReadFlags flags, ProgressTracker pt, Single weight, String sliceName, TIBaseDeserializer overrideSpecificDeserializer, IGenericDeserializer overrideGenericDeserializer, TIBaseContentDeserializer overrideSpecificContentDeserializer, IGenericContentDeserializer overrideGenericContentDeserializer) in C:\Users\Walt\Documents\Code\Cosmoteer\Halfling\HalflingCore\Serialization\Base\BaseSerializer.cs:line 556
at Halfling.Serialization.Base.BaseSerializer`10.ReflectiveRead(TSource source, Object target, DeserializationReflectionInfo dri, Boolean forceNoOption, ProgressTracker pt) in C:\Users\Walt\Documents\Code\Cosmoteer\Halfling\HalflingCore\Serialization\Base\BaseSerializer.cs:line 692
at Halfling.Serialization.Base.BaseSerializer`10.GenericSerialReaderImpl.ReflectiveRead(Object target, Type type, Boolean forceNoOption, ProgressTracker progressTracker) in C:\Users\Walt\Documents\Code\Cosmoteer\Halfling\HalflingCore\Serialization\Base\BaseSerializer.cs:line 2663
at Halfling.Serialization.Generic.GenericSerialReader.ReflectiveRead(Object target, Boolean forceNoOption, ProgressTracker progressTracker) in C:\Users\Walt\Documents\Code\Cosmoteer\Halfling\HalflingCore\Serialization\Generic\GenericSerialReader.cs:line 134
at Cosmoteer.Rules..ctor(GenericSerialReader reader, ProgressTracker pt) in C:\Users\Walt\Documents\Code\Cosmoteer\Source\Rules.cs:line 110
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at Halfling.Serialization.Base.BaseSerializer`10.GenericConstructorDeserializationMethod.TryDeserialize(TSerializer s, TSource source, Type type, ReadFlags flags, ProgressTracker progressTracker, Object& obj) in C:\Users\Walt\Documents\Code\Cosmoteer\Halfling\HalflingCore\Serialization\Base\BaseSerializer.cs:line 2255
at Halfling.Serialization.Base.BaseSerializer`10.Read(TSource source, Type type, ReadFlags flags, ProgressTracker pt, Single weight, String sliceName, TIBaseDeserializer overrideSpecificDeserializer, IGenericDeserializer overrideGenericDeserializer, TIBaseContentDeserializer overrideSpecificContentDeserializer, IGenericContentDeserializer overrideGenericContentDeserializer) in C:\Users\Walt\Documents\Code\Cosmoteer\Halfling\HalflingCore\Serialization\Base\BaseSerializer.cs:line 556
--- End of inner exception stack trace ---
at Halfling.Serialization.Base.BaseSerializer`10.Read(TSource source, Type type, ReadFlags flags, ProgressTracker pt, Single weight, String sliceName, TIBaseDeserializer overrideSpecificDeserializer, IGenericDeserializer overrideGenericDeserializer, TIBaseContentDeserializer overrideSpecificContentDeserializer, IGenericContentDeserializer overrideGenericContentDeserializer) in C:\Users\Walt\Documents\Code\Cosmoteer\Halfling\HalflingCore\Serialization\Base\BaseSerializer.cs:line 618
at Halfling.Serialization.Base.BaseSerializer`10.Read(TSource source, Type type, ReadFlags flags, ProgressTracker progressTracker) in C:\Users\Walt\Documents\Code\Cosmoteer\Halfling\HalflingCore\Serialization\Base\BaseSerializer.cs:line 184
at Halfling.Serialization.Base.BaseSerializer`10.Read[T](TSource source, ReadFlags flags, ProgressTracker progressTracker) in C:\Users\Walt\Documents\Code\Cosmoteer\Halfling\HalflingCore\Serialization\Base\BaseSerializer.cs:line 196
at Cosmoteer.Assets.LoaderThread() in C:\Users\Walt\Documents\Code\Cosmoteer\Source\Assets.cs:line 303
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
(eck, didn't realize this wasn't compatible with 0.14.6)