升级和迁移 Office 解决方案

更新:2007 年 11 月

使用“Visual Studio 转换向导”可以将项目从 Visual Studio Tools for Office 2003 版 和 Microsoft Visual Studio 2005 Tools for the Microsoft Office System 升级至 Visual Studio Tools for the Office system 3.0。若要升级某个 Microsoft Office 解决方案,请在安装了 Visual Studio Tools for the Office system 3.0 的 Visual Studio 中打开该解决方案。“Visual Studio 转换向导”会出现,引导您执行完成升级所需的步骤。有关更多信息,请参见如何:从 Visual Studio Tools for Office 升级解决方案

该向导不会修改您的代码。如果升级 Outlook 2003 外接程序项目,您可能需要手动更新代码。有关更多信息,请参见 Outlook 项目。

程序集引用

“Visual Studio 转换向导”可以为解决方案升级项目文件和对主 Microsoft Office 应用程序的主互操作程序集的引用。此外,在该向导中还可添加对新版本依赖程序集或更新版本依赖程序集的引用。但是,如果在创建原始项目之后向项目手动添加了程序集,则该向导不会添加对这些程序集的新版本或更新版本的引用。

例如,如果升级的 Word 2003 外接程序项目具有对帮助器方法程序集和 PowerPoint 主互操作程序集的引用,则“Visual Studio 转换向导”会确保对 Word 主互操作程序集和帮助器程序集的引用是正确的。但是,您必须手动更新对 PowerPoint 主互操作程序集的引用。

版本升级

默认情况下,如果安装了 2007 Microsoft Office system,则该向导会将 Microsoft Office 2003 项目升级为 2007 Microsoft Office system 项目。但是,对于文档级自定义项和应用程序级外接程序,这一过程有所不同。

文档级自定义项项目

如果要升级文档级自定义项,则无法阻止向导升级项目版本。原因在于,在打开文档级自定义项时出现的设计器会使用 Office 的当前安装版本。仅当项目与安装的 Office 版本相匹配时,项目才能在设计器中打开。

若要升级文档级自定义项项目,您必须安装有适当的 Office 应用程序。例如,计算机上必须安装有 Word 2003 或 Word 2007,才能升级 Word 2003 文档级自定义项项目。

如果安装了 2007 Microsoft Office system,则“Visual Studio 转换向导”会要求您选择是否要将文档转换为 Open XML 格式之一。除非出于特定原因需要使用原格式,否则应转换文档格式。有关这些格式的更多信息,请参见Introduction to new file name extensions and Open XML Formats(新文件扩展名和 Open XML 格式简介)。

如果在升级项目时已安装了 Microsoft Office 2003,则项目会继续将 Microsoft Office 2003 用作目标版本,文档格式也保持不变。

如果升级使用 Visual Studio Tools for Office 2003 版 创建的文档级项目,则必须手动执行某些升级步骤。有关更多信息,请参见从 Visual Studio Tools for Office 版本 2003 升级

应用程序级外接程序项目

如果安装了 2007 Microsoft Office system,而您不希望“Visual Studio 转换向导”将 2003 版外接程序项目升级为 2007 版外接程序项目,则可以更改默认设置以便保留 Office 2003 项目。由于 Office 2007 版可以承载 Office 2003 外接程序,因此,即使没有安装 Microsoft Office 2003,仍然可以开发、编译和测试项目。清除“项目升级”选项页中的“始终升级到已安装版本 Office”选项。有关更多信息,请参见“选项”对话框 ->“项目升级”

“Visual Studio 转换向导”不能使外接程序项目与早期 Office 版本兼容。因此,如果安装了 Office 2003 并且要升级某个 2007 版外接程序项目,则升级完成后,该项目还是保持为 2007 版外接程序项目。您可以成功地打开该项目,开发外接程序,也可以编译代码。但是,由于 Office 2003 不能承载 2007 版外接程序,因此不能测试该外接程序。

若要升级应用程序级外接程序项目,并不需要安装 Microsoft Office。

Outlook 项目

如果要升级 Outlook 2003 外接程序项目,则应更新宿主项类的名称,并且必须更新对 Microsoft.Office.Interop.Outlook.Application 对象的引用。

说明:

不必更新使用 Microsoft Visual Studio 2005 Tools for the 2007 Microsoft Office System (VSTO 2005 SE) 项目模板创建的项目。

宿主项类名称

“Visual Studio 转换向导”不更新宿主项类的名称。该类的名称仍然为 ThisApplication。您不必更改此名称。但是,Visual Studio Tools for the Office system 3.0 帮助文档中的代码示例使用宿主项类名称 ThisAddIn。如果要以一种更方便的方式测试代码,即复制代码并将其粘贴到自己的项目中,则可以将该类的名称更改为 ThisAddIn,然后在整个项目中重构此名称更改。有关如何在 C# 项目中重构代码的信息,请参见如何:重命名标识符。有关如何在 Visual Basic 项目中重构代码的信息,请参见如何:重命名标识符

对应用程序对象的引用

“Visual Studio 转换向导”不会修改您的代码。因此,您必须手动更改所有采用以下方法访问 Microsoft.Office.Interop.Outlook.Application 对象的代码:

  • ThisApplication 类中的 this(在 C# 中)或 Me(在 Visual Basic 中)关键字。

  • ThisApplication 类外部代码中的 Globals.ThisApplication 对象。

例如,如果您的 ThisApplication 类包含下面的代码,则必须更新该类。

Me.ActiveExplorer()
this.ActiveExplorer();

下面的代码在升级后的项目中用作替换内容。

Me.Application.ActiveExplorer()
This.Application.ActiveExplorer();

Microsoft Visual Studio 2005 Tools for the Microsoft Office System 项目中的 ThisApplication 宿主项类直接继承自 Microsoft.Office.Tools.Outlook.Application 类。但是,Visual Studio Tools for the Office system 3.0 项目中的 ThisAddIn 宿主项类不是从 Microsoft.Office.Tools.Outlook.Application 继承的。您应改用该宿主项类的 Application 属性引用活动的应用程序对象。

升级至 Microsoft Office 2007 版

如果在升级 Visual Studio Tools for Office 项目后升级至 Microsoft Office 2007 版,则在下次打开该项目时会出现“Visual Studio 转换向导”。

在安装 Office 2003 时,您选择不进行升级的 Office 2007 版外接程序项目,现在可以运行了,通过在 Visual Studio 中按 F5 或 Ctrl+F5 可以测试这些项目。

请参见

任务

如何:从 Visual Studio Tools for Office 升级解决方案

概念

从 Visual Studio Tools for Office 版本 2003 升级

参考

“选项”对话框 ->“项目升级”