我们已经发布了这个公告,.Net Core被重命名为1.0(虽然有点令人困惑,但没关系,随便怎样都可以)。在公告中,Hanselman说:
“它还不支持VB或F#。”
这让我觉得我可能漏掉了什么。我的逻辑如下:
拿两个简单的Hello World应用程序,一个用C#编写,另一个用VB编写。假设你保持简单,在使用标准的MSBuild/.NET框架进行编译时,你应该会得到相同的IL代码。据我所知,你可以让.Net Core运行同样的dll文件,因为在那个层面上它们都是IL代码。那么为什么说它不支持VB呢?是因为它不支持复杂情况(在那种情况下,你可能会引用VB特定的内容)吗?还是因为编译为.NET Framework与.NET Core时生成的实际IL代码不同,目前没有VB/F#编译器?
“它还不支持VB或F#。”
这让我觉得我可能漏掉了什么。我的逻辑如下:
拿两个简单的Hello World应用程序,一个用C#编写,另一个用VB编写。假设你保持简单,在使用标准的MSBuild/.NET框架进行编译时,你应该会得到相同的IL代码。据我所知,你可以让.Net Core运行同样的dll文件,因为在那个层面上它们都是IL代码。那么为什么说它不支持VB呢?是因为它不支持复杂情况(在那种情况下,你可能会引用VB特定的内容)吗?还是因为编译为.NET Framework与.NET Core时生成的实际IL代码不同,目前没有VB/F#编译器?
Microsoft.VisualBasic.dll
(而且在 c# 应用程序中也可以很好地使用它)。因此,要么是该 dll 尚未移动到 .Net Core,但 IL 是相同的,因此 vb 不会工作并不完全正确,要么实际的 IL 是不同的。哪一个呢? - George Mauer