我們有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也是如此 –