我们有this announcement .Net核心正在重命名为1.0(困惑,但罚款,无论)。其中Hanselman国.Net Core是否会生成与标准.Net相同的IL?
It doesn't yet support VB or F#.
这让我觉得我失去了一些东西。我的逻辑工作如下。
在C#中使用两个简单的Hello World应用程序,另一个使用VB。假设你保持简单,当用标准的msbuild/.Net框架编译时,你应该得到相同的IL。我的理解是,你可以让.Net核心运行同一个dll,因为它在这个级别都是IL。那么为什么说它不支持VB?是否它不支持超越简单情况(你可能会参考VB特定的东西)?或者是.Net Framework与.Net Core编译时生成的实际IL是不同的,而且还没有VB/F#编译器?
可能是因为这些语言具有特定于语言的引用dll(例如Microsoft.VisualBasic.dll),它们具有不支持核心的自己的引用。 – Jeff
@Jeff好耶,但我在这个问题中提到过 - 你不必*在vb应用程序中使用'Microsoft.VisualBasic.dll'(并且你也可以在c#中使用它)。所以它或者是这个DLL没有被移动到.Net核心,但是IL是相同的,它并不完全正确,vb-wont-work,或者实际的IL是不同的。这是什么? –
只有一种IL,.NETCore版本没有区别。假设Microsoft.VisualBasic.dll不是必需的并不准确,编译器会自动生成使用它的代码。基本的东西,比如需要观察选项比较的字符串比较。对于F#和FSharp.Core.dll也是如此 –