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
