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

问题描述:

.NET 4.5是就地升级,因此可以替代.NET 4.0。因此,当我使用Visual Studio 2012安装.NET 4.5时,我无法再为.NET 4.0开发应用程序。使用Visual Studio 2012进行.NET 4.0(Windows XP)开发

随着.NET 4.5下不支持Windows XP,我怎么能保持我现有的.NET 4.0的应用程序这还是要在Windows XP下运行我安装了Visual Studio 2012年后?

直到现在我总是devlop .NET应用程序的每一个版本,甚至是.NET 1.1,只要安装了VS2003。我没有问题,微软不支持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的安装已经替换了我的标准控件的控件模板。因此我无法再创建副本。

+0

VS2012 RC不支持XP。 –

+1

@HansPassant:谢谢,我知道。但是,我能在同一台机器上用VS2010开发Windows XP应用程序吗?或者我必须要分离PC的? – slfan

我遇到了一些严重问题,针对安装了4.5版本的计算机开发.NET程序4.0。例如,一个问题是,如果您正在进行WPF开发并在属性上拥有私有setter - 如果您使用Mode = TwoWay绑定到该属性,那么如果您使用.NET进行开发,则不会得到异常4.5!你应该得到一个异常,如果你在一个只安装了.NET 4.0的环境中(即使你正在Visual Studio中开发目标4.0)。现在显然你不应该有Mode = TwoWay和一个私人二传手,但是也许你最初打算让这个财产成为OneWay。问题在于,这只是在4.5之下简单扫描的问题的众多例子之一,并且导致我重新开始在Windows 7中使用Visual Studio 2010和.NET 4.0开发针对.NET 4.0的任何内容。

+0

有意思的是,到目前为止我还没有找到这个。当您使用.NET 4.5进行编译时,或仅在您使用.NET 4.0进行编译时,您会遇到此错误吗? – slfan

+0

只有当我针对.NET 4.0进行编译时,即使它在任何安装了.NET 4.5的机器上都能很好地工作。 – Jordan

+0

我最近碰到的另一个错误记录在这里: http://*.com/questions/4659257/how-can-synchronizationcontext-current-of-the-main-thread-become-null-in-a -windo – Jordan

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

但是,我认为,微软不会放弃对XP和Vista的支持,轻松,似乎支持度的事情仅仅是速度的目的,以展示给开发者。

而且,如果说到真实,微软停止支持XP和Vista,那么你的虚拟机作为一个很好的选择!

+0

您是否看过我的问题?一旦VS2012发布,我正在谈论.NET 4.5。 .NET 4.0将被4.5替代。 – slfan

+0

哦!抱歉! 我错了。 – IWIH

在此期间,我发现斯科特Hanselman的一个伟大的博客,回答我的顾虑:http://www.hanselman.com/blog/NETVersioningAndMultiTargetingNET45IsAnInplaceUpgradeToNET40.aspx

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

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

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

如果你需要C#5.0的async和你的客户拒绝升级的操作系统,这可能是一种选择。

+2

好点。但我想写一个Mono下不支持的WPF应用程序。顺便说一句:我刚刚出现了第一个不兼容问题,我将编辑我的问题。 – slfan