MS .NET 4.6 可以与 Visual Studio 2010 一起使用吗

Can MS .NET 4.6 be used with Visual Studio 2010

我们仍在使用 VS 2010 SP1 开发大型 LOB ASP.NET Web 应用程序。基础架构人员正在考虑将 .NET 4.6(以及面向开发人员的目标包)推向桌面,但我无法找到与 VS 2010 兼容的任何信息。这里的一位领导说这两者不兼容,不能一起使用并且您必须拥有 VS 2012 或更高版本,但我找不到关于该主题的任何官方信息。有人知道是否可以使用 .NET 4.6 和 VS 2010 SP1 进行开发吗?

Wiki 包含它们支持的 visual studio 和 .net 版本的交叉引用。 MS Visual Studio History

每个新版本的 .NET 都不仅仅是一个新的编译器。还添加了新工具、项目,甚至 IDE 功能。如果你必须使用 4.6 的功能,你也应该考虑升级你的 VS。

Visual Studio 支持多目标。例如,如果我使用 Visual Studio 2012,我可以安装 4.6 多目标包来开发 4.6 应用程序。

但是,4.6 多目标包的 download instructions 没有提及支持 Visual Studio 2010,仅提及 2012 和 2013:

The .NET Framework 4.6 Targeting Pack is a package that enables developers to build applications targeting the .NET Framework 4.6 by using either Visual Studio 2013, Visual Studio 2012 or third-party IDEs

这与我发现的任何文档一样接近。这让我相信不,Visual Studio 2010 不支持 4.6 多目标。

Visual Studio 2010 支持 4.6 目标包。当目标包被推送到机器上时,Visual Studio 2010 将看不到它。

现在,如果您想继续使用受支持的 .NET 版本(这可能就是您的基础架构人员正在做他们正在做的事情的原因),这实际上不是问题,因为即使您的目标是 4.0,您可以通过在其上部署 4.6 和 运行ning 您的 4.0 应用程序来保持支持。在这种情况下,我们会调整 4.0 行为,因此当您在只有 4.0 的机器上进行测试时,您可以保证应用程序在 4.6 上 运行 具有很高的置信度。

然而,我看到开发者 运行 很多,他们的目标是 4.0,但 test 在安装了 4.6 的机器上,然后期望能够部署到 4.0 并且只有 运行。在这种情况下,不能 100% 保证这会起作用,因为我们不会填充每个错误修复 and/or 功能。这意味着您可以无意中获取 4.6 行为,并依赖它。

总结一下:

  • 如果您以 4.0 为目标,请在 4.0 上进行测试并部署到 4.0/4.6 -> 我们保证这很有信心。

  • 如果您以 4.0 为目标,请在 4.6 上测试并部署到 4.6 -> 我们保证这很有信心。

  • 如果您的目标是 4.0,请在 4.6 上测试并部署到 4.0 -> 这在大多数情况下都有效,但您可能会意外地依赖未固定在 4.0 上的 "fixed behaviors"。