使用Visual Studio 2012开发.NET 4.0(Windows XP)

时间:2012-06-20 20:33:57

标签: .net-4.0 windows-xp expression-blend .net-4.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 1.1)开发.NET应用程序。我没有问题微软不支持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 个答案:

答案 0 :(得分:4)

具有讽刺意味的是,似乎Mono支持much of the .NET 4.5 functionality,并且它可以安装在Windows XP上。

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

答案 1 :(得分: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之间前后切换。

答案 2 :(得分:2)

我遇到了一些严重问题,针对安装了4.5的计算机开发4.0版本的.NET程序。例如,一个问题是,如果你正在进行WPF开发并在属性上有一个私有的setter - 如果你使用Mode = TwoWay绑定到该属性,那么如果你是针对.NET进行开发的话,你将不会得到异常4.5!你应该得到一个例外,如果你所处的环境只安装了.NET 4.0(即使你在Visual Studio中开发到目标4.0)。现在显然你不应该有Mode = TwoWay和一个私有的setter,但也许你最初打算让这个属性只有OneWay。关键在于,这只是众多问题的一个例子,这些问题简直就在4.5之下,并且让我重新开始使用Visual Studio 2010和.NET 4.0在Windows 7中开发针对.NET 4.0的任何内容。< / p>

答案 3 :(得分:1)

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

但是,我认为微软不会放弃对XP和Vista的支持那么容易,看来减少支持的问题仅仅是出于速度目的向开发者展示。

此外,如果它实现并且Microsoft停止了对XP和Vista的支持,那么您将虚拟机作为一个很好的选择!

祝福