【问题标题】:What's the difference between the .NET Framework SDK and the Targeting pack.NET Framework SDK 和 Targeting 包有什么区别
【发布时间】:2018-01-08 09:41:53
【问题描述】:

我正在尝试在 Visual Studio 中安装 .NET Framework 4.7.1,并且可以选择安装:

  • .NET Framework 4.7.1 SDK
  • .NET Framework 4.7.1 目标包

我需要他们两个吗?它们各自有什么区别?

【问题讨论】:

标签: .net visual-studio


【解决方案1】:

.NET Framework SDK 是 Microsoft 的软件开发工具包 (SDK)。

为 .NET Framework 开发应用程序是必需的,它包含:

  • 文档
  • 头文件
  • 样本和工具。

.NET Framework SDK 专门用于为 .NET Framework 开发应用程序。安装visual studio时,这就够了。

当您针对与当前安装的 .NET 框架不同的特定 .NET 框架时,需要定位包。

对于目标包,假设您使用 .NET 4.7 构建应用程序,但客户端使用 .NET 4.5。对于这种类型的场景,即使您使用的是更高版本,您也可以针对客户端的版本。

Here 您可以看到如何针对特定的 .NET 框架

【讨论】:

  • 它没有完全回答这个问题。当 .NET X 的目标包足以为其构建应用程序时,为什么还要为 .NET X 安装 SDK?
  • @osexpert 如果我理解正确,您需要 SDK 才能进行开发。定位包需要 SDK 才能运行;它只是允许您使用 SDK 来定位早期版本,而不仅仅是 SDK 的版本。
  • FWIW 我只安装了没有 SDK 的目标包,我可以毫无问题地构建和运行到该版本(特别是 4.7.2)。
  • @Marc.2377 是不是您在安装所有目标包之前手动安装了 .NET Framework 4.7?
  • 在 VS 中针对特定框架版本进行开发时,您需要安装 SDK,以便获得正确的参考程序集和 IntelliSense。定位包本身仅提供对构建定位的支持。
【解决方案2】:

这就是区别,根据

docs.microsoft.com

定位包: 在 Visual Studio 和其他一些开发环境中开发时,让您的应用以特定版本的 .NET Framework 为目标。

开发者包: 包括特定版本的 .NET Framework 及其随附的 SDK 以及相应的目标包。

也就是说,例如:SDK 4.7.1 包括 .NetFramework 4.7.1 和目标包 4.7.1。但是如果你想以.Net Framework 4.6为目标,你需要安装目标包4.6

【讨论】:

  • 如果 SDK 包含定位包,SDK 应该更大。但根据 Visual Studio 安装程序,4.6.2 目标包为 135MB,而 4.6.2 SDK 只有 28MB。这里有点不对劲。
  • @JacobStamm Lord bill 以神秘的方式工作
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-17
  • 2016-10-30
  • 2017-05-29
  • 1970-01-01
  • 2010-09-09
  • 2018-01-20
相关资源
最近更新 更多