[Mono-dev] [mono-vb] Visual Basic upgrade.

Miguel de Icaza miguel at novell.com
Thu Aug 17 02:25:08 EDT 2006


Hello,

> Will the new compiler allow targeting of both 1.0 & 2.0 profile ? What I
> mean to say is, will there be something like vbnc/gbnc (bad name, I know) or
> a command line switch to specify whether to emit an assembly that references
> the 1.0 (1.1) or 2.0 system assemblies (and allow/disallows 2.0 constructs
> such as generics, nullable types, ...) ? 
> 
> Sorry if this was answered before...

There are two issues here: whether the compiler can be manually lowered
to only accept VB.NET 7 syntax only and whether the compiler produces
executables that reference the 1.1 profile assemblies.

The first could be done, but considering that there is a lot of work
that will probably need to go into it, having a "lowered" mode is
probably not the best use of time (although Rolf, the compiler author
might have a different opinion).

The assemblies generated currently are 2.0 assemblies, this is a side of
effect of how reflection works (if you reference corlib, it references
the compiler corlib, which in the new compiler case happens to be 2.0).

I do not think that the compiler can work on the 1.0 profile, which
means that unless we come up with some gross hack, this is a compiler
that will only work to link against the 2.0 profile.

Finally, the runtime is a different beast as its main purpose is to run
existing code, the runtime will probably have to be compiled on Windows,
or we will have to do some PE-level hacks to the resulting executable.

Miguel



More information about the Mono-devel-list mailing list