變更以 .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 為目標時,Worksheet 和 Document 會是介面,而不是類別。 如需詳細資訊,請參閱 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.Document、Microsoft.Office.Tools.Excel.Worksheet 和 Microsoft.Office.Tools.AddIn。 在目標為 .NET Framework 4 的專案中,現在這些 Visual Studio Tools for Office Runtime 類別是介面。 因此,Office 專案中產生的類別無法再自行衍生實作。 產生的類別改為衍生自新的基底類別,例如 DocumentBase、WorksheetBase 和 AddInBase。 如需詳細資訊,請參閱應用程式層級增益集程式設計和文件層級自訂程式設計。
基底類別不屬於 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 專案。 |
GetVstoObject 和 HasVstoObject 方法的語法已變更。 |
當您在主要 Interop 組件 (PIA) 的原生物件上存取這些方法時,必須將 Globals.Factory 物件傳遞至這些方法,否則您可以在專案中 Globals.Factory 屬性傳回的物件上存取這些方法。 如需詳細資訊,請參閱更新您要移轉至 .NET Framework 4 的 Excel 和 Word 專案。 |
Word 內容控制項事件與新的委派相關聯。 |
您必須將處理 Word 內容控制項事件的任何程式碼修改為指定新的委派。 如需詳細資訊,請參閱更新您要移轉至 .NET Framework 4 的 Excel 和 Word 專案。 |
OLEObject 和 OLEControl 類別都已重新命名。 |
您必須將使用這些類別之執行個體的任何程式碼,修改為使用 Microsoft.Office.Tools.Excel.ControlSite 或 Microsoft.Office.Tools.Word.ControlSite 物件。 如需詳細資訊,請參閱更新您要移轉至 .NET Framework 4 的 Excel 和 Word 專案。 |
主項目類別 (例如 ThisWorkbook、Sheetn、ThisDocument 和 ThisAddIn) 不再提供您可以覆寫的 Dispose 方法。 |
您必須將 Dispose 方法覆寫中的任何程式碼移至主項目類別中的 Shutdown 事件處理常式 (例如,ThisAddIn_Shutdown),並從主項目類別中移除 Dispose 方法覆寫。 |
請參閱
概念
將 Office 方案移轉至 .NET Framework 4
Visual Studio Tools for Office Runtime 概觀
變更記錄
日期 |
記錄 |
原因 |
---|---|---|
2010 年 5 月 |
新增有關在目標為 .NET Framework 4 的專案中移除 Dispose 方法的資訊。 |
資訊加強。 |