2012-06-20 92 views
6

.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

回答

2

我遇到了一些嚴重問題,針對安裝了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://stackoverflow.com/questions/4659257/how-can-synchronizationcontext-current-of-the-main-thread-become-null-in-a -windo – Jordan

1

BIG編輯:我們應該等到微軟宣佈最後的決定,但目前尚不清楚,只有結論。

但是,我認爲,微軟不會放棄對XP和Vista的支持,輕鬆,似乎支持度的事情僅僅是速度的目的,以展示給開發者。

而且,如果說到真實,微軟停止支持XP和Vista,那麼你的虛擬機作爲一個很好的選擇!

+0

您是否看過我的問題?一旦VS2012發佈,我正在談論.NET 4.5。 .NET 4.0將被4.5替代。 – slfan

+0

哦!抱歉! 我錯了。 – IWIH

2

在此期間,我發現斯科特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之間前後切換。

4

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

如果你需要C#5.0的async和你的客戶拒絕升級的操作系統,這可能是一種選擇。

+2

好點。但我想寫一個Mono下不支持的WPF應用程序。順便說一句:我剛剛出現了第一個不兼容問題,我將編輯我的問題。 – slfan

相關問題