@Walt I upgraded MicroTech using both upgraders using both the upgraders. Would you tell me what is wrong with the code?
Halfling.Serialization.DeserializeException: Deserialization from source "<C:\Program Files\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\Data\ships\terran\terran.txt>/Terran" failed. ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.InvalidOperationException: Duplicate part ID: ammo_supply
at Cosmoteer.Ships.ShipRules..ctor(GenericSerialReader reader, ProgressTracker pt) in C:\Users\Walt\Documents\Code\Cosmoteer\Source\Ships\ShipRules.cs:line 150
--- 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 2256
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 555
--- 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 617
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 183
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 1986
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 555
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 691
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 2662
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 113
--- 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 2256
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 555
--- 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 617
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 183
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 195
at Cosmoteer.Assets.LoaderThread() in C:\Users\Walt\Documents\Code\Cosmoteer\Source\Assets.cs:line 297
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()