Thanks. I downloaded today mono 2.6, compile and installed it with C# 4.0 profile configuration. Now the compilation with dmcs works, but when I compile simple console program like this:
dynamic foo = 5; Console.WriteLine(foo); the result should show 5 in console output, but it's blank instead. This works with MS .Net FW 4.0 Beta. 2009/12/15 Rodrigo Kumpera <[email protected]> > Hi Tomi, > > Your regression has been fixed with r148433 of mono and mcs. > > > On Mon, Dec 14, 2009 at 11:00 AM, Rodrigo Kumpera <[email protected]>wrote: > >> Actually, this is a bug on dmcs and not on mscorlib. >> >> >> On Mon, Dec 14, 2009 at 9:38 AM, Rodrigo Kumpera <[email protected]>wrote: >> >>> It means I did something wrong. I'll work on fixing this. Thanks for >>> reporting >>> >>> >>> >>> On Mon, Dec 14, 2009 at 9:19 AM, Tomi <[email protected]> wrote: >>> >>>> Hi folks, >>>> >>>> I have downloaded newest mono from trunk svn, compiled and installed it >>>> as Miguel wrote in his post ( >>>> http://tirania.org/blog/archive/2009/Dec-09.html) but when I try to >>>> compile simple program like this: >>>> >>>> using System; >>>> using System.Collections.Generic; >>>> using System.Linq; >>>> using System.Text; >>>> using System.Dynamic; >>>> >>>> namespace ConsoleTest >>>> { >>>> public class Program >>>> { >>>> public static void Main(string[] args) >>>> { >>>> dynamic x = 5; >>>> Console.WriteLine(x); >>>> >>>> Console.WriteLine("\nEnd"); >>>> Console.ReadLine(); >>>> } >>>> } >>>> } >>>> >>>> with mono C# 4.0 dmcs compilator I get this exception: >>>> >>>> r...@vps-19-ubuntu-server:~/mono4/Projects/ConsoleTest# ../../bin/dmcs >>>> Program.cs >>>> Internal compiler error at Program.cs(11,36):: exception caught while >>>> emitting MethodBuilder [Program::Main] >>>> >>>> Unhandled Exception: System.NotImplementedException: The requested >>>> feature is not implemented. >>>> at Mono.CSharp.DynamicType.get_AssemblyQualifiedName () [0x00000] in >>>> <filename unknown>:0 >>>> at System.Reflection.MonoGenericClass.format_name (Boolean full_name, >>>> Boolean assembly_qualified) [0x00000] in <filename unknown>:0 >>>> at System.Reflection.MonoGenericClass.get_AssemblyQualifiedName () >>>> [0x00000] in <filename unknown>:0 >>>> at System.Reflection.MonoGenericClass.format_name (Boolean full_name, >>>> Boolean assembly_qualified) [0x00000] in <filename unknown>:0 >>>> at System.Reflection.MonoGenericClass.get_FullName () [0x00000] in >>>> <filename unknown>:0 >>>> at Mono.CSharp.TypeHandle..ctor (System.Type type) [0x00000] in >>>> <filename unknown>:0 >>>> at Mono.CSharp.TypeHandle.GetTypeHandle (System.Type t) [0x00000] in >>>> <filename unknown>:0 >>>> at Mono.CSharp.TypeHandle.GetMemberCache (System.Type t) [0x00000] in >>>> <filename unknown>:0 >>>> at Mono.CSharp.TypeManager.MemberLookup_FindMembers (System.Type t, >>>> MemberTypes mt, BindingFlags bf, System.String name, System.Boolean& >>>> used_cache) [0x00000] in <filename unknown>:0 >>>> at Mono.CSharp.TypeManager.RealMemberLookup (System.Type >>>> invocation_type, System.Type qualifier_type, System.Type queried_type, >>>> MemberTypes mt, BindingFlags original_bf, System.String name, IList`1 >>>> almost_match) [0x00000] in <filename unknown>:0 >>>> at Mono.CSharp.TypeManager.MemberLookup (System.Type invocation_type, >>>> System.Type qualifier_type, System.Type queried_type, MemberTypes mt, >>>> BindingFlags original_bf, System.String name, IList`1 almost_match) >>>> [0x00000] in <filename unknown>:0 >>>> at Mono.CSharp.Expression.MemberLookup (Mono.CSharp.CompilerContext >>>> ctx, System.Type container_type, System.Type qualifier_type, System.Type >>>> queried_type, System.String name, MemberTypes mt, BindingFlags bf, Location >>>> loc) [0x00000] in <filename unknown>:0 >>>> at Mono.CSharp.Expression.MemberLookup (Mono.CSharp.CompilerContext >>>> ctx, System.Type container_type, System.Type qualifier_type, System.Type >>>> queried_type, System.String name, Location loc) [0x00000] in <filename >>>> unknown>:0 >>>> at Mono.CSharp.MemberAccess.DoResolve (Mono.CSharp.ResolveContext ec, >>>> Mono.CSharp.Expression right_side) [0x00000] in <filename unknown>:0 >>>> at Mono.CSharp.MemberAccess.DoResolve (Mono.CSharp.ResolveContext ec) >>>> [0x00000] in <filename unknown>:0 >>>> at Mono.CSharp.Expression.Resolve (Mono.CSharp.ResolveContext ec, >>>> ResolveFlags flags) [0x00000] in <filename unknown>:0 >>>> at Mono.CSharp.Invocation.DoResolve (Mono.CSharp.ResolveContext ec) >>>> [0x00000] in <filename unknown>:0 >>>> at Mono.CSharp.Expression.Resolve (Mono.CSharp.ResolveContext ec, >>>> ResolveFlags flags) [0x00000] in <filename unknown>:0 >>>> at Mono.CSharp.Expression.Resolve (Mono.CSharp.ResolveContext rc) >>>> [0x00000] in <filename unknown>:0 >>>> at Mono.CSharp.Assign.DoResolve (Mono.CSharp.ResolveContext ec) >>>> [0x00000] in <filename unknown>:0 >>>> at Mono.CSharp.SimpleAssign.DoResolve (Mono.CSharp.ResolveContext ec) >>>> [0x00000] in <filename unknown>:0 >>>> at Mono.CSharp.Expression.Resolve (Mono.CSharp.ResolveContext ec, >>>> ResolveFlags flags) [0x00000] in <filename unknown>:0 >>>> at Mono.CSharp.Expression.Resolve (Mono.CSharp.ResolveContext rc) >>>> [0x00000] in <filename unknown>:0 >>>> at Mono.CSharp.ExpressionStatement.ResolveStatement >>>> (Mono.CSharp.BlockContext ec) [0x00000] in <filename unknown>:0 >>>> at Mono.CSharp.StatementExpression.Resolve (Mono.CSharp.BlockContext >>>> ec) [0x00000] in <filename unknown>:0 >>>> at Mono.CSharp.DynamicExpressionStatement.EmitCall >>>> (Mono.CSharp.EmitContext ec, Mono.CSharp.Expression binder, >>>> Mono.CSharp.Arguments arguments, Boolean isStatement) [0x00000] in >>>> <filename >>>> unknown>:0 >>>> at Mono.CSharp.DynamicExpressionStatement.EmitStatement >>>> (Mono.CSharp.EmitContext ec) [0x00000] in <filename unknown>:0 >>>> at Mono.CSharp.DynamicInvocation.EmitStatement >>>> (Mono.CSharp.EmitContext ec) [0x00000] in <filename unknown>:0 >>>> at Mono.CSharp.StatementExpression.DoEmit (Mono.CSharp.EmitContext ec) >>>> [0x00000] in <filename unknown>:0 >>>> at Mono.CSharp.Statement.Emit (Mono.CSharp.EmitContext ec) [0x00000] >>>> in <filename unknown>:0 >>>> at Mono.CSharp.Block.DoEmit (Mono.CSharp.EmitContext ec) [0x00000] in >>>> <filename unknown>:0 >>>> at Mono.CSharp.Block.Emit (Mono.CSharp.EmitContext ec) [0x00000] in >>>> <filename unknown>:0 >>>> at Mono.CSharp.ExplicitBlock.Emit (Mono.CSharp.EmitContext ec) >>>> [0x00000] in <filename unknown>:0 >>>> at Mono.CSharp.ToplevelBlock.Emit (Mono.CSharp.EmitContext ec) >>>> [0x00000] in <filename unknown>:0 >>>> at Mono.CSharp.MethodData.Emit (Mono.CSharp.DeclSpace parent) >>>> [0x00000] in <filename unknown>:0 >>>> at Mono.CSharp.MethodOrOperator.Emit () [0x00000] in <filename >>>> unknown>:0 >>>> at Mono.CSharp.Method.Emit () [0x00000] in <filename unknown>:0 >>>> >>>> Does that mean that C# 4 dynamic keyword is not yet supported or I'm >>>> doing something wrong somewhere? >>>> >>>> _______________________________________________ >>>> Mono-list maillist - [email protected] >>>> http://lists.ximian.com/mailman/listinfo/mono-list >>>> >>>> >>> >> >
_______________________________________________ Mono-list maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-list
