什么是 .NET 多目标包?

NoN*_*ded 22 c# visual-studio .net-framework

安装 Visual Studio 会安装一堆名为的 .Net 包

  • .NET x 目标包
  • .NET x 多目标包
  • .NET x 多目标包 (ENU)

其中“x”代表它支持的 .Net 版本号。这些包有什么用?

Ram*_*und 17

通过以下描述可以最好地解释它。

多目标包或 MT 包是一组对应于特定 .NET Framework 平台和版本的参考程序集。引用程序集是一个 .NET Framework 程序集,它通常没有方法主体,也没有内部或私有 API。引用程序集仅包含编译器所需的信息。

例如,有针对 .NET Framework 3.5、.NET Framework 4、针对 .NET Framework 4 的 Update 4.0.x、.NET Framework 4.5、Windows Phone 7.5、Windows Metro 风格应用程序、Portable Class 的多目标包图书馆等等。

Visual Studio 安装了一组多目标包,Visual Studio SDK、Silverlight SDK 和 Windows Phone SDK 等 SDK 也是如此。通常,多目标包安装在32 位计算机下 “%ProgramFiles(x86)%\Reference Assemblies\Microsoft\Framework”“%ProgramFiles%\Reference Assemblies\Microsoft\Framework”上)。

来自 Microsoft 的以下图像使上述描述更加清晰。

在此处输入图片说明

如果我只想使用 Visual Studio 制作 WP10 Mobile 应用程序,是否需要这些包?

如果您只打算以 Windows Phone 10 为目标,则无需安装软件包即可将您的应用程序发布到 Windows 应用商店。您不能以不受支持的 .NET Framework 版本为目标,并将您的应用程序发布到 Windows 应用商店,这意味着您的所有程序集无论如何都将针对相同版本的 .NET Framework 进行编译。

来源: 托管代码工具的多目标指南 [Mircea]