[Mono-list] cs0011 error on 2.8.2

Peter Hagen peter at wingsofdeath.net
Thu Feb 3 16:49:11 EST 2011


Hi

the last 2 days I noticed somethings strange with Mono 2.8.2. I have a project that uses the ExcelLibrary (http://code.google.com/p/excellibrary/). Running it with .Net and Mono 2.6.7, it works seamlessly. But yesterday I put that code on my other machine with Mono 2.8.2 (linux Debian) and I got this message:

Error CS0011: Could not load type 'QiHe.CodeLib.BinaryTreeNodeBase`2[TItem,QiHe.CodeLib.RedBlackTreeNode`1[TItem]]' from assembly 'ExcelLibrary, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. (CS0011) (Willow.Data.Converter)

I thought that something might be wrong with my build, so I removed the library, cause it was not needed. Today I started MonoDevelop on my Mac (2.4.2) and I get the same message when building. I rebuild the ExcelLibrary without a problem. The assembly browser also shows it without a problem, but if I open the object QiHe.CodeLib.BinarySearchTreeBase<TIem, TTreeNode>, the Delete methode, it shows this:

Decompilation failed: 
System.ArgumentException: IL_00e8: constrained. TTreeNode
Parameter name: instruction
  at Cecil.Decompiler.Cil.InstructionDispatcher.Dispatch (Mono.Cecil.Cil.Instruction instruction, IInstructionVisitor visitor) [0x00000] in :0 
  at Cecil.Decompiler.Cil.BaseInstructionVisitor.Visit (Mono.Cecil.Cil.Instruction instruction) [0x00000] in :0 
  at Cecil.Decompiler.StatementDecompiler.ProcessInstruction (Mono.Cecil.Cil.Instruction instruction) [0x00000] in :0 
  at Cecil.Decompiler.StatementDecompiler.ProcessInstructions (Cecil.Decompiler.Cil.InstructionBlock block) [0x00000] in :0 
  at Cecil.Decompiler.StatementDecompiler.ProcessBlock (Cecil.Decompiler.Cil.InstructionBlock block) [0x00000] in :0 
  at Cecil.Decompiler.StatementDecompiler.MoveStatementsToBlock (Cecil.Decompiler.Cil.InstructionBlock start, Cecil.Decompiler.Cil.InstructionBlock limit, Cecil.Decompiler.Ast.BlockStatement block) [0x00000] in :0 
  at Cecil.Decompiler.StatementDecompiler.MoveStatementsToBlock (Cecil.Decompiler.Cil.BlockRange range, Cecil.Decompiler.Ast.BlockStatement block) [0x00000] in :0 
  at Cecil.Decompiler.StatementDecompiler.ProcessConditionBranches (Cecil.Decompiler.ConditionData data, Cecil.Decompiler.Ast.IfStatement conditional) [0x00000] in :0 
  at Cecil.Decompiler.StatementDecompiler.AddCompleteCondition (Mono.Cecil.Cil.Instruction instruction) [0x00000] in :0 
  at Cecil.Decompiler.StatementDecompiler.AddCondition (Mono.Cecil.Cil.Instruction instruction) [0x00000] in :0 
  at Cecil.Decompiler.StatementDecompiler.OnBne_Un (Mono.Cecil.Cil.Instruction instruction) [0x00000] in :0 
  at Cecil.Decompiler.Cil.InstructionDispatcher.Dispatch (Mono.Cecil.Cil.Instruction instruction, IInstructionVisitor visitor) [0x00000] in :0 
  at Cecil.Decompiler.Cil.BaseInstructionVisitor.Visit (Mono.Cecil.Cil.Instruction instruction) [0x00000] in :0 
  at Cecil.Decompiler.StatementDecompiler.CreateStatement (Mono.Cecil.Cil.Instruction instruction) [0x00000] in :0 
  at Cecil.Decompiler.StatementDecompiler.ProcessInstruction (Mono.Cecil.Cil.Instruction instruction) [0x00000] in :0 
  at Cecil.Decompiler.StatementDecompiler.ProcessInstructions (Cecil.Decompiler.Cil.InstructionBlock block) [0x00000] in :0 
  at Cecil.Decompiler.StatementDecompiler.ProcessBlock (Cecil.Decompiler.Cil.InstructionBlock block) [0x00000] in :0 
  at Cecil.Decompiler.StatementDecompiler.ProcessBlocks () [0x00000] in :0 
  at Cecil.Decompiler.StatementDecompiler.Run () [0x00000] in :0 
  at Cecil.Decompiler.StatementDecompiler.Process (Cecil.Decompiler.DecompilationContext context, Cecil.Decompiler.Ast.BlockStatement body) [0x00000] in :0 
  at Cecil.Decompiler.DecompilationPipeline.Run (Mono.Cecil.Cil.MethodBody body) [0x00000] in :0 
  at Cecil.Decompiler.Extensions.RunPipeline (Cecil.Decompiler.DecompilationPipeline pipeline, Mono.Cecil.Cil.MethodBody body) [0x00000] in :0 
  at Cecil.Decompiler.Extensions.Decompile (Mono.Cecil.Cil.MethodBody body, ILanguage language) [0x00000] in :0 
  at Cecil.Decompiler.Languages.CSharpWriter.Write (Mono.Cecil.MethodDefinition method) [0x00000] in :0 
  at MonoDevelop.AssemblyBrowser.DomMethodNodeBuilder.Decompile (MonoDevelop.Projects.Dom.DomCecilMethod method, Boolean markup) [0x00000] in :0 

I'm not sure if this has anything to do with it, thats what I hope someone can answer here. So, the library can build on both versions, but on 2.8.2 I cant reference it. And ideas? Is this a know bug maybe?

Cheers

Peter




-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-list/attachments/20110203/220fa1db/attachment.html 


More information about the Mono-list mailing list