为什么 .Net5 项目有对 Microsoft.VisualBasic 的引用?

Why do .Net5 projects have a reference to Microsoft.VisualBasic?

可以编译和 运行 以下代码,而无需显式引用 Microsoft.VisualBasic dll 或程序包:

using Microsoft.VisualBasic;

Interaction.Beep(); // from Microsoft.VisualBasic

System.Console.WriteLine("Done");

这里是对应的工程文件:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net5.0</TargetFramework>
  </PropertyGroup>
</Project>

在解决方案资源管理器中查看 Dependencies > Frameworks,您将看到 Microsoft.NETCore.App 列出。展开该节点,您将看到该框架中包含的所有程序集,其中包括 Microsoft.CSharpMicrosoft.VisualBasicMicrosoft.VisualBasic.Core。这意味着 VB 个项目也引用了 Microsoft.CSharp