我們有一個基於.NET 2 Framework(C#)的小型應用程序,並且與Windows 8兼容,但只有32位(因爲我們的構建機器總是32位)。 我們現在正在尋找做一些改變,現在也創建一個64位版本。需要從.Net 2升級到更新的版本?
我的問題是現在,我們應該也升級到.NET Framework的新版本是爲未來做好準備,或者我們可以僅僅停留與我們現有的.NET Framework 2
它應該仍然與Windows XP和所有較新的Windows(32和64位)兼容。
我們有一個基於.NET 2 Framework(C#)的小型應用程序,並且與Windows 8兼容,但只有32位(因爲我們的構建機器總是32位)。 我們現在正在尋找做一些改變,現在也創建一個64位版本。需要從.Net 2升級到更新的版本?
我的問題是現在,我們應該也升級到.NET Framework的新版本是爲未來做好準備,或者我們可以僅僅停留與我們現有的.NET Framework 2
它應該仍然與Windows XP和所有較新的Windows(32和64位)兼容。
您可以隨時將其升級到版本4的框架,它仍然與以前版本的Windows兼容。
除此之外,您應該始終使用「任何CPU」構建.Net應用程序。它將生成中間代碼,稍後JIT編譯器將根據它正在執行的機器將其編譯爲32位或64位體系結構。
只有在您的.Net應用程序中引用任何非託管dll時,才應該擔心CPU架構。
是的,它仍然與Windows XP和Windows的所有新版本兼容。隨着升級到框架4,您必須擁有Windows XP sp 3,否則框架將無法安裝。
據我所知,framework 4.5只能安裝在windows 7或更高版本上,所以升級到framework 4.5可能不適合你。
太棒了,我忘記了,嵌入式Windows XP如何? – FiveO 2013-04-29 13:16:26
它會真的「始終」兼容嗎?如何打破變化http://www.asp.net/whitepapers/aspnet4/breaking-changes – user1477388 2013-04-29 13:16:58
如果它不得不中斷,它將在第一時間中斷。如果你可以成功升級 - 用新框架構建和運行應用程序,它肯定會繼續工作。傳統框架補丁和更新從不打破二進制兼容性,但在極端情況下,可能會有例外。 – 2013-04-29 13:19:17
升級到.NET 3.5或4.0應該不會造成問題,缺點是安裝框架的人數會減少,而且您可以獲得更好的CLR並使用一些新的語言功能。
如果您不打算更改應用程序源,則不會利用任何新的語言功能,而只會爲最終用戶添加新的依賴關係(較新的框架)。在這種情況下,我看不出有什麼意義,從2.0到4.0。
如果您打算繼續開發應用程序,那麼我強烈建議轉換到3.5或4.0以獲得這些框架中的新功能,最重要的是LINQ。
請注意,4.5框架是與Windows XP不兼容,因此如果你想保持與XP向後兼容性您不能升級到4.5。只要你需要瞄準XP,你就會陷入4.0或更低的境地。
至於輸出平臺,我建議編譯如下:
對於可執行文件使用顯式平臺是一個很好的原則,因爲它對用戶而言並不令人驚訝,並且允許64位系統上的用戶在需要時運行32位應用程序。看到這個博客文章的更長的答案http://blogs.msdn.com/b/rmbyers/archive/2009/06/09/anycpu-exes-are-usually-more-trouble-then-they-re-worth.aspx
完美答案!那麼Windows XP仍然非常重要 - 所以4.5版本不是一個選項。我剛剛讀到嵌入式XP支持3.5,所以我想我們會繼續使用.NET 2,直到我們確實發現未來Windows版本的問題,但到目前爲止,.NET 2還在新的Windows 8機器上工作。謝謝 – FiveO 2013-05-01 06:19:28
抽象是,爲什麼不,但如果它的工作,你不需要改變任何東西。 – Jodrell 2013-04-29 13:13:08
多小?如果它很小,那麼即使升級到更高版本的.NET時出現問題,修復應該也是非常及時的。所以,我會跳起來。 – user1477388 2013-04-29 13:14:26
http://msdn.microsoft.com/en-us/library/ff602939.aspx – 2013-04-29 13:14:55