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




_______________________________________________
Mono-list maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-list

Reply via email to