We have this announcement that .Net Core is being renamed to 1.0 (confusing, but fine, whatever). In it Hanselman states
It doesn't yet support VB or F#.
which makes me think that I'm missing something. My logic works as follows.
Take two simple simple Hello World apps one in C#, the other in VB. Assuming you kept it simple, when compiling with standard MSBuild/.NET framework you should get identical IL. It is my understanding that you can then get .Net core to run that same dll since it's all IL at that level. So why say that it doesn't support VB? Is it that it doesn't support it beyond simple situations (where you'd likely reference VB-specific stuff)? Or is it that the actual IL generated when compiling for .Net Framework versus .NET Core is different and there isn't a VB/F# compiler around yet?
Yes it generates the same IL
(I could not resist to answer it that simple)
Nevertheless, to the VB Part: In regards of VB support: Running on .NET Core requires a compiler (implemented in Roslyn), a CLI command dotnet-compile-vb
(not implemented ... for F# the community delivered it by now) and a supported version of Microsoft.VisualBasic
(implemented in corefx). I guess the point of VisualBasic support is the same as for e.g. ASP.NET SignalR. The code is 95% there, it runs, but it is not officially tested and supported. It is a matter of timelines not of technologies.
IMHO: Considering that the Microsoft.VisualBasic
assembly is there and the IL is the same, it could in theory even execute a compiled VB assembly as long as the compiler used the System.Runtime based Core platform.
PS May 2019: they just announced to Port the majority of the VB .NET Runtime
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With