So after finally getting the bandwidth, I’m proceeding on the great journey to migrate my infrastructure to a unified state that leverages silver for mono platforms. One such piece of this is generous with it’s usages of generics and Its one of the corner stones of my infrastructure.
I have it compiling on all platforms but its failing at the last stage of compilation with silver. I’m getting an error that only appears in the build stage:
E: Error while generating executable: System.ArgumentNullException: Value cannot be null.
at Mono.Cecil.SignatureWriter.WriteTypeSignature (Mono.Cecil.TypeReference type) [0x00004] in <6dcf4a273260406485a54d4b20324388>:0
at Mono.Cecil.SignatureWriter.WriteGenericInstanceSignature (Mono.Cecil.IGenericInstance instance) [0x00022] in <6dcf4a273260406485a54d4b20324388>:0
at Mono.Cecil.MetadataBuilder.GetMethodSpecSignature (Mono.Cecil.MethodSpecification method_spec) [0x00027] in <6dcf4a273260406485a54d4b20324388>:0
at Mono.Cecil.MetadataBuilder.CreateMethodSpecRow (Mono.Cecil.MethodSpecification method_spec) [0x00017] in <6dcf4a273260406485a54d4b20324388>:0
at Mono.Cecil.MetadataBuilder.GetMethodSpecToken (Mono.Cecil.MethodSpecification method_spec) [0x00000] in <6dcf4a273260406485a54d4b20324388>:0
at Mono.Cecil.MetadataBuilder.LookupToken (Mono.Cecil.IMetadataTokenProvider provider) [0x000ba] in <6dcf4a273260406485a54d4b20324388>:0
at Mono.Cecil.Cil.CodeWriter.WriteOperand (Mono.Cecil.Cil.Instruction instruction) [0x00287] in <6dcf4a273260406485a54d4b20324388>:0
at Mono.Cecil.Cil.CodeWriter.WriteInstructions () [0x00030] in <6dcf4a273260406485a54d4b20324388>:0
at Mono.Cecil.Cil.CodeWriter.WriteResolvedMethodBody (Mono.Cecil.MethodDefinition method) [0x0002e] in <6dcf4a273260406485a54d4b20324388>:0
at Mono.Cecil.Cil.CodeWriter.WriteMethodBody (Mono.Cecil.MethodDefinition method) [0x0002c] in <6dcf4a273260406485a54d4b20324388>:0
at Mono.Cecil.MetadataBuilder.AddMethod (Mono.Cecil.MethodDefinition method) [0x00013] in <6dcf4a273260406485a54d4b20324388>:0
at Mono.Cecil.MetadataBuilder.AddMethods (Mono.Cecil.TypeDefinition type) [0x00013] in <6dcf4a273260406485a54d4b20324388>:0
at Mono.Cecil.MetadataBuilder.AddType (Mono.Cecil.TypeDefinition type) [0x000a7] in <6dcf4a273260406485a54d4b20324388>:0
at Mono.Cecil.MetadataBuilder.AddTypes () [0x00018] in <6dcf4a273260406485a54d4b20324388>:0
at Mono.Cecil.MetadataBuilder.BuildTypes () [0x00017] in <6dcf4a273260406485a54d4b20324388>:0
at Mono.Cecil.MetadataBuilder.BuildModule () [0x000a2] in <6dcf4a273260406485a54d4b20324388>:0
at Mono.Cecil.MetadataBuilder.BuildMetadata () [0x00000] in <6dcf4a273260406485a54d4b20324388>:0
at Mono.Cecil.ModuleWriter.BuildMetadata (Mono.Cecil.ModuleDefinition module, Mono.Cecil.MetadataBuilder metadata) [0x0000b] in <6dcf4a273260406485a54d4b20324388>:0
at Mono.Cecil.ModuleWriter.Write (Mono.Cecil.ModuleDefinition module, Mono.Disposable`1[T] stream, Mono.Cecil.WriterParameters parameters) [0x00106] in <6dcf4a273260406485a54d4b20324388>:0
at Mono.Cecil.ModuleWriter.WriteModule (Mono.Cecil.ModuleDefinition module, Mono.Disposable`1[T] stream, Mono.Cecil.WriterParameters parameters) [0x00002] in <6dcf4a273260406485a54d4b20324388>:0
at Mono.Cecil.ModuleDefinition.Write (System.String fileName, Mono.Cecil.WriterParameters parameters) [0x00017] in <6dcf4a273260406485a54d4b20324388>:0
at E.b (System.IO.Stream a) [0x001c3] in <c1b9d202b83345148b1cda18390f3c99>:0
Before diving too deep into assessing any work arounds I wanted to see if I could reach out here first. Any tips on how to debug this other than to start trying to clear out and adjust some of my generic members until I find the culprit?