5

.NET 4.5 是就地升级,因此取代了 .NET 4.0。因此,当我使用 Visual Studio 2012 安装 .NET 4.5 时,我无法再为 .NET 4.0 开发应用程序。

由于 Windows XP 不支持 .NET 4.5,我如何维护现有的 .NET 4.0 应用程序,这些应用程序在安装 Visual Studio 2012 后仍需在 Windows XP 下运行

直到现在,只要安装了 VS2003,我总是可以为每个版本开发 .NET 应用程序,甚至是 .NET 1.1。我对微软在 XP 上不支持 .NET 4.5 没有意见,我认为砍掉旧的东西是可以的。但由于我们仍有客户使用 Windows XP,我们需要能够在创建 .NET 4.5 的同时创建 .NET 4.0 程序。

编辑:

我刚刚遇到了第一个不兼容问题:我在 Windows Server 2012 上安装了 VS 2012。我创建了一个面向 .NET 4.0 的项目。在 blend 4.0 中,我创建了复选框控件模板的副本。生成的模板包含仅在 .NET 4.5 下可用的颜色参考。该解决方案无法再编译。然而,同样的情况在我的 Windows 7 安装上运行良好。

我假设 .NET 4.5 的安装已经替换了我的标准控件的控件模板。因此,我无法再创建副本。

4

4 回答 4

4

具有讽刺意味的是, Mono似乎支持大部分 .NET 4.5 功能,并且可以安装在Windows XP上。

如果您需要 C# 5.0async并且您的客户拒绝升级它的操作系统,这可能是一个选项。

于 2012-11-26T20:07:11.387 回答
2

与此同时,我发现了一个很棒的 Scot Hanselman 博客,它回答了我的担忧:http ://www.hanselman.com/blog/NETVersioningAndMultiTargetingNET45IsAnInplaceUpgradeToNET40.aspx

.NET 4.5 是就地升级并替换 .NET 4.0 CLR,但仍可以使用 Visual Studio 2012 创建 .NET 4.0 应用程序。

编辑:我现在安装了 VS2012 的最终版本。我现有的 .NET 4.0 项目编译并运行,到目前为止没有问题。唯一的缺点是,它不再支持 Windows Installer 项目。您可以在 VS2010 和 VS2012 之间前后切换。

于 2012-07-02T08:12:35.627 回答
2

我在针对安装了 4.5 的计算机开发 4.0 的 .NET 程序时遇到了一些严重问题。例如,一个问题是,如果您正在进行 WPF 开发并且在属性上有一个私有设置器 - 如果您使用 Mode=TwoWay 绑定到该属性,那么如果您针对 .NET 进行开发,则不会出现异常4.5!如果您在仅安装了 .NET 4.0 的环境中(即使您正在开发以 Visual Studio 中的 4.0 为目标),您应该会遇到异常。现在显然您不应该拥有 Mode=TwoWay 和私有设置器,但也许您最初打算将属性设置为仅 OneWay。关键是,这只是 4.5 简单地扫过的众多问题示例之一,并导致我重新使用 Visual Studio 2010 和 .NET 4 在 Windows 7 中进行开发。

于 2013-06-24T19:59:12.373 回答
1

大编辑:我们应该等到微软宣布最终决定,目前还不清楚,只有结论。

但是,我认为微软不会那么容易放弃对 XP 和 Vista 的支持,似乎减少支持的问题只是为了向开发人员展示它的速度目的。

此外,如果它成为现实并且微软停止了对 XP 和 Vista 的支持,那么您可以将虚拟机作为一个绝佳的选择!

最良好的祝愿

于 2012-06-20T20:48:24.613 回答