.NET Framework 4 移轉手冊

更新:2010 年 8 月

如果您使用舊版的 .NET Framework 建立應用程式,您通常可以輕鬆地將它升級到版本 4。 在 Visual Studio 2010 中開啟專案。 如果您的專案是在舊版中建立,則 [Visual Studio 轉換精靈] 會自動開啟。 如需升級專案的詳細資訊,請參閱 HOW TO:升級在舊版 Visual Studio 中建立的專案

不過,.NET Framework 中的某些變更需要變更您的程式碼。 您可能也會想要利用 .NET Framework 4 中的某些新功能。 針對新版本的 .NET Framework 對您的應用程式所做的這種類型的變更通常稱為「移轉」(Migration)。 如果您的應用程式不必移轉,您可以在 .NET Framework 4 中執行而不需重新編譯。如需詳細資訊,請參閱 HOW TO:設定 .NET Framework 4 執行階段。 如需相容性測試案例,請參閱 .NET Framework 4 應用程式相容性逐步解說 (英文)。

本主題描述將應用程式從 .NET Framework 3.5 移轉到 .NET Framework 4 時有關的工作、資源和問題。

移轉資源

在您移轉應用程式之前,請先檢閱下列文件:

移轉問題概觀

下表提供 .NET Framework 4 移轉問題中所詳述之主要問題的摘要。 其中包括為了解決之前的問題所做的修正以及可幫助您進行移轉工作的改良功能。

技術

應用程式開發和資源

組態和其他考量

控制項和圖形

安全性

互通性

相關的型別和成員

ASP.NET 和 Web

對於不同版本之子系 Web 應用程式的支援。

  • 瀏覽器定義檔的更新。

  • HTML 表單和要求、編碼語法與快取原則的變更。

  • 更嚴格的頁面剖析。

  • 移除 System.Web.Mobile.dll 的參考。

  • .config 檔案更新。

  • URL 路由和 Web 資料夾名稱。

  • 新的用戶端識別碼模式。

  • 新的呈現功能。

  • XHTML 1.1 符合性。

  • 已經停止在瀏覽器中裝載 Windows Form 控制項的支援。 IEHost.dll 和 IEExec.dll 已經從 .NET Framework 中移除。

  • Live ID SDK 已經取代 Passport 驗證。

  • 加密資料的雜湊演算法變更。

無。

HttpBrowserCapabilities, HttpUtility, HttpServerUtility, Menu, MenuRenderingMode, ControlRenderingCompatibilityVersion, PopOutImageUrl, StaticPopOutImageUrl, DynamicPopOutImageUrl, AppendHeader(String, String), PassportIdentity, HttpRequest, FilePath, AppRelativeCurrentExecutionFilePath, CurrentExecutionFilePath, PathInfo

核心

  • 有關同處理序、並存執行的考量。

  • 組件載入和雜湊演算法改良。

  • 全域組件快取位置變更。

  • 由 CodeDOM 取代的 C# 程式碼編譯器類別。

  • Gacutil.exe (全域組件快取工具) 不再支援此 Shell 外掛程式檢視器。

  • .config 檔案命名。

  • 日期和時間屬性現在會使用作業系統規則,而不是 .NET Framework 資料。

  • 處理損毀處理序狀態的例外狀況變更。

無。

  • 新的安全性模型。

  • 某些裝載啟用型別和成員已被取代。

  • JIT 偵錯變更。

  • 不正確的平台叫用現在會造成應用程式失敗。

  • 原生應用程式 (例如 Windows 工作管理員) 不再看到 Managed 程式庫。

日期和時間:LocalNowTimeSpan

全球化:CurrencyEnglishNameLongDatePatternPMDesignatorCultureTypesFrameworkCulturesWindowsOnlyCultures

例外狀況:HandleProcessCorruptedStateExceptionsAttributeExecutionEngineException

反映:HashAlgorithmNoneGetReferencedAssemblies()ProcessModuleCollectionDeclaringType

資料

裝載改良功能。

  • 檢視對應改良功能。

  • 資料列編輯改良功能。

  • 支援 POCO。

  • 資料服務支援批次二進位內容、標頭、刪除要求的變更攔截器、合併作業、URI 逸出、基礎資料流和 JSON 讀取器。

  • 更多實用的例外狀況。

無。

無。

無。

資料集和 SQL 用戶端:IRelatedEndIEntityWithRelationshipsDataViewPropertyChangedRejectChanges()DataSetPrepare()

Entity Framework:Detach(Object)SaveChanges()

LINQ to SQL:EntitySet<TEntity>ListChanged

WCF 資料服務:TimeoutExceptionDataServiceRequestExceptionMergeOptionAppendOnlyPreserveChangesOnStartProcessingRequest(ProcessRequestArgs)ServiceOperation

全球化

從作業系統取得的文化特性資訊 (從 Windows 7 開始)。

  • 新的中性和特定文化特性與名稱變更。

  • 增強型 Unicode 5.1 標準支援。

無。

無。

無。

無。

WCF

  • 服務裝載組態變更。

  • 跨組態檔的合併支援。

  • 過時的文化特性型別。

無。

無。

無。

無。

WPF

  • Freezable 資源字典。

  • 資源檔位置選項。

  • XPS Viewer Essentials Pack 安裝。

  • 屬性只能有一個句點。

  • 標記延伸修正。

  • 更多實用的例外狀況。

  • 點陣圖框架會提供下載影像的更佳呈現方式。

  • 子視窗不會浮動。

  • 功能表子物件、幕後容器、捲動方塊處理和樹狀檢視階層架構的改良功能。

  • 功能表和快顯畫面中的 ClearType。

  • 新的 UI 自動化介面。

  • CommonDialog.ShowStream 和 Microsoft.Win32.FileDialog 會在相同執行緒上執行。

  • 沒有不需要的事件的框架巡覽。

  • 在配置傳遞期間可以多次呼叫快顯委派。

  • 屬性值可以在影響其值的觸發程序之後保存下來。

  • 已排除不必要的重新配置 (使其失效)。

  • 您現在可以繫結以檢視模型為根據的命令執行個體。

  • 未使用的按鍵組合會模糊化。

  • WPF 瀏覽器應用程式不再處理按鍵事件。

  • 其他視窗樣式設定。

  • 文字方塊中的自動剪下和貼上會在部分信任中提供更好的安全性。

無。

應用程式:AllowsTransparencyWindowState

控制項:CollectionViewSetCurrentValue(DependencyProperty, Object)Copy()Cut()

圖形:DropShadowEffectBlurEffectShaderEffectDownloadFailedInputBindingDeadCharProcessedDeadCharProcessedKey

UI 自動化:TreeViewAutomationPeerTreeViewItemAutomationPeerIItemContainerProviderISynchronizedInputProviderIVirtualizedItemProvider

XAML:ProvideValue(IServiceProvider)

XML

無。

  • 已正確複製 Chameleon 結構描述。

  • 實體參考只會轉換成實體一次。

  • 命名空間解析程式修正。

  • 讀取器和 XPath 巡覽修正。

  • 結構描述集可以包含其他集合。

無。

無。

無。

結構描述與轉換:XmlReaderCreateReader()XPathNavigatorXmlSchemaSetLoad(XmlReader)

驗證:ReadContentAs(Type, IXmlNamespaceResolver)IXmlNamespaceResolverCreate(Stream)

寫入:WriteEntityRef(String), XmlWriter, None

請參閱

概念

.NET Framework 4 的新功能

.NET Framework 版本和相依性

其他資源

.NET Framework 4 移轉問題

從 .NET Framework 1.1 版移轉

HOW TO:設定 .NET Framework 4 執行階段

.NET Framework 的版本相容性

.NET Framework 的過時功能

.NET Framework 4 中的新型別和成員

.NET Framework 版本和組件資訊

Microsoft .NET Framework 支援週期原則

變更記錄

日期

記錄

原因

2010 年 8 月

已新增有關在 Web 瀏覽器中裝載控制項、編譯器類別和 CodeDOM 與全域組件快取檢視器的問題。

資訊加強。