2017-04-01 46 views
1

我注意到,依赖一个.NET核心应用中,有Microsoft.CSharpMicrosoft.VisualBasic,用几乎相同的依赖关系:为什么.NET Core应用程序需要C#和VB程序集?

enter image description here

我想更好地了解:

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

回答

1

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

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

为什么这两个DLL都是必需的。

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

相关问题