Does .Net Core create the same IL as the .Net standard?

We have this announcement that .Net Core is renamed to 1.0 (confusing, but great, whatever). In it, Handelman argues that

It doesn't yet support VB or F#. 

Which makes me think that I missed something. My logic works as follows.

Take two simple simple Hello World applications, one in C #, the other in VB. Assuming you kept it simple, when compiling with the standard msbuild / .Net structure, you should get an identical IL. I understand that you can get the .Net kernel to run the same DLL, since all this is IL at this level. So why say that it does not support VB? Unless he supports it outside of simple situations (where you probably refer to things specific to vb)? Or is it that the actual IL generated during compilation for the .Net Framework compared to the .Net Core is different from the others, and there is no VB / F # compiler yet?

+6
source share
1 answer

Yes, it generates the same IL

(I could not resist to answer so simply)

However, for the VB part: Regarding VB support: to run on .NET Core requires a compiler (implemented in Roslyn), CLI dotnet-compile-vb command (not implemented ... for the F # community that has supplied it so far ) and the supported version of Microsoft.VisualBasic (implemented in corefx). I assume that the meaning of VisualBasic support is the same as, for example, for ASP.NET SignalR. The code is 95% there, it works, but is not officially tested and is not supported. This is a matter of timing, not technology.

IMHO: Considering that the Microsoft.VisualBasic and IL builds exist the same, theoretically it can even perform a compiled VB build if the compiler uses the Core.Runtime-based platform.

PS May 2019: they just announced the porting of most VB.NET Runtime

+3
source

Source: https://habr.com/ru/post/1241057/


All Articles