我注意到在.NET Core应用程序的依赖项中,有Microsoft.CSharp
和Microsoft.VisualBasic
,具有几乎相同的依赖项:
我想更好地理解:
答案 0 :(得分:1)
首先需要(看起来像)特定于语言的DLL;
它们的存在是为了支持特定于语言的功能。对于C#,主要用于dynamic
。对于VB,这主要适用于特定于VB的成员,例如AscW
或vbCrLf
(也可以从C#中使用)以及VB编译器使用的某些类型。
为什么需要两个DLL。
因为,至少在理论上,包含C#和VB包的Microsoft.NETCore.App
包是语言中立的。虽然在实践中,.Net Core目前不支持VB。 F#(支持)有自己的包,默认情况下不包含。