共用方式為


變更以 .NET Framework 4 為目標的 Office 專案設計

更新:2010 年 5 月

Visual Studio 2010 在設計目標為 .NET Framework 4 的 Office 專案上引進了一些變更。 如果您熟悉舊版 Visual Studio 中的 Office 專案,在開發目標為 .NET Framework 4 的 Office 專案之前應該會注意到這些變更。 如果您要將現有專案的目標更新為 .NET Framework 4,有幾項重大變更您應該注意。

了解 Visual Studio 2010 Tools for Office Runtime 的介面型設計

當您開發目標為 .NET Framework 4 的 Office 專案時,在 Visual Studio 2010 Tools for Office Runtime 中使用的大部分類型會是介面。 這是與舊版 Visual Studio Tools for Office Runtime 最主要的差別,在舊版中這些類型是類別。 例如,當您以 .NET Framework 4 為目標時,WorksheetDocument 會是介面,而不是類別。 如需詳細資訊,請參閱 Visual Studio Tools for Office Runtime 概觀

針對原本可在舊版 Visual Studio Tools for Office Runtime 中直接執行個體化的任何類型,現在您會使用 Globals.Factory 物件的方法取得這些類型的執行個體。 例如,若要取得實作 SmartTag 介面的物件,請使用 Globals.Factory.CreateSmartTag 方法。 如需詳細資訊,請參閱下列主題:

Office 專案中新的基底類別

Visual Studio 2010 Tools for Office Runtime 中全新的介面型設計會影響 Office 專案中產生的類別,例如 ThisDocument、ThisWorkbook 和 ThisAddIn。 在目標為 .NET Framework 3.5 和舊版 Framework 的 Office 專案中,這些產生的類別衍生自 Visual Studio Tools for Office Runtime 中的類別,例如 Microsoft.Office.Tools.Word.DocumentMicrosoft.Office.Tools.Excel.WorksheetMicrosoft.Office.Tools.AddIn。 在目標為 .NET Framework 4 的專案中,現在這些 Visual Studio Tools for Office Runtime 類別是介面。 因此,Office 專案中產生的類別無法再自行衍生實作。 產生的類別改為衍生自新的基底類別,例如 DocumentBaseWorksheetBaseAddInBase。 如需詳細資訊,請參閱應用程式層級增益集程式設計文件層級自訂程式設計

基底類別不屬於 Visual Studio Tools for Office Runtime 轉散發的一部分, 而是在 Visual Studio 2010 隨附的公用程式組件中定義。 這些組件會在您建置 Office 專案時複製到輸出資料夾,並且必須隨方案部署。 如需公用程式組件的詳細資訊,請參閱 Visual Studio Tools for Office Runtime 的組件

在目標重設為 .NET Framework 4 的 Office 專案中的重大變更

下表列出您可能在目標重設為 .NET Framework 4 的 Office 專案中面臨的主要重大變更。 如需詳細資訊,請參閱將 Office 方案移轉至 .NET Framework 4

重大變更

結果

Office 專案中不再使用或支援 SecurityTransparentAttribute

您必須從升級自 Visual Studio 2008 的 Office 專案中的 AssemblyInfo 程式碼檔移除此屬性。 如需詳細資訊,請參閱移轉至 .NET Framework 4 的 Office 專案在執行前所必須進行的變更

Excel 專案中不再使用或支援 ExcelLocale1033Attribute

您必須從 Excel 專案中的 AssemblyInfo 程式碼檔移除此屬性。 如需詳細資訊,請參閱更新您要移轉至 .NET Framework 4 的 Excel 和 Word 專案

[功能區 (視覺化設計工具)] 專案項目的程式撰寫模型已變更。

您必須在專案中修改任何功能區項目的程式碼後置檔案。 您也必須修改在執行階段執行個體化功能區控制項、處理功能區事件,或是以程式設計方式設定功能區元件位置的任何程式碼。 如需詳細資訊,請參閱更新您要移轉至 .NET Framework 4 之 Office 專案中的功能區自訂

Outlook 表單區域的程式撰寫模型已變更。

您必須修改專案中任何表單區域的程式碼後置檔案,以及在執行階段執行個體化特定表單區域類別的任何程式碼。 如需詳細資訊,請參閱更新您要移轉至 .NET Framework 4 之 Outlook 專案中的表單區域

Excel 和 Word 專案中智慧標籤的程式撰寫模型已變更。 智慧標籤在 Excel 2010 和 Word 2010 中已被取代。 如需詳細資訊,請參閱智慧標籤概觀

您必須修改建立智慧標籤和動作物件的任何程式碼,以及定義自訂智慧標籤辨識器的程式碼。 如需詳細資訊,請參閱更新您要移轉至 .NET Framework 4 的 Excel 和 Word 專案

GetVstoObjectHasVstoObject 方法的語法已變更。

當您在主要 Interop 組件 (PIA) 的原生物件上存取這些方法時,必須將 Globals.Factory 物件傳遞至這些方法,否則您可以在專案中 Globals.Factory 屬性傳回的物件上存取這些方法。 如需詳細資訊,請參閱更新您要移轉至 .NET Framework 4 的 Excel 和 Word 專案

Word 內容控制項事件與新的委派相關聯。

您必須將處理 Word 內容控制項事件的任何程式碼修改為指定新的委派。 如需詳細資訊,請參閱更新您要移轉至 .NET Framework 4 的 Excel 和 Word 專案

OLEObjectOLEControl 類別都已重新命名。

您必須將使用這些類別之執行個體的任何程式碼,修改為使用 Microsoft.Office.Tools.Excel.ControlSiteMicrosoft.Office.Tools.Word.ControlSite 物件。 如需詳細資訊,請參閱更新您要移轉至 .NET Framework 4 的 Excel 和 Word 專案

主項目類別 (例如 ThisWorkbook、Sheetn、ThisDocument 和 ThisAddIn) 不再提供您可以覆寫的 Dispose 方法。

您必須將 Dispose 方法覆寫中的任何程式碼移至主項目類別中的 Shutdown 事件處理常式 (例如,ThisAddIn_Shutdown),並從主項目類別中移除 Dispose 方法覆寫。

請參閱

概念

將 Office 方案移轉至 .NET Framework 4

Office 程式開發的新功能

Visual Studio Tools for Office Runtime 概觀

變更記錄

日期

記錄

原因

2010 年 5 月

新增有關在目標為 .NET Framework 4 的專案中移除 Dispose 方法的資訊。

資訊加強。