为什么.NET Core应用程序需要C#和VB程序集?

时间:2017-04-01 18:32:13

标签: .net-core

我注意到在.NET Core应用程序的依赖项中,有Microsoft.CSharpMicrosoft.VisualBasic,具有几乎相同的依赖项:

enter image description here

我想更好地理解:

  1. 首先需要特定语言的DLL(看起来像什么);
  2. 为什么需要两个DLL。

1 个答案:

答案 0 :(得分:1)

  

首先需要(看起来像)特定于语言的DLL;

它们的存在是为了支持特定于语言的功能。对于C#,主要用于dynamic。对于VB,这主要适用于特定于VB的成员,例如AscWvbCrLf(也可以从C#中使用)以及VB编译器使用的某些类型。

  

为什么需要两个DLL。

因为,至少在理论上,包含C#和VB包的Microsoft.NETCore.App包是语言中立的。虽然在实践中,.Net Core目前不支持VB。 F#(支持)有自己的包,默认情况下不包含。