本演练演示如何为 Microsoft Office 项目创建 VSTO 外接程序。 在此类解决方案中创建的功能可供应用程序本身使用,而不管哪些项目处于打开状态。 有关详细信息,请参阅 Office 解决方案开发概述(VSTO)。
适用于: 本主题中的信息适用于 Project 的 VSTO 外接程序项目。 有关详细信息,请参阅 Office 应用程序和项目类型提供的功能。
本演练阐释了以下任务:
- 创建一个 Project VSTO 外接程序项目。 
- 编写使用 Project 对象模型向新项目添加任务的代码。 
- 生成并运行项目以对其进行测试。 
- 清理已完成的项目,以便 VSTO 外接程序不再在开发计算机上自动运行。 - 注释 - 以下说明中的某些 Visual Studio 用户界面元素在计算机上出现的名称或位置可能会不同。 这些元素取决于你所使用的 Visual Studio 版本和你所使用的设置。 有关详细信息,请参阅 个性化设置 IDE。 
先决条件
你需要满足以下条件才能完成本演练:
- 包含 Microsoft Office 开发人员工具的 Visual Studio 版本。 有关详细信息,请参阅 配置计算机以开发 Office 解决方案。 
- Project 2013 或 Project 2010。 
创建项目
在 Visual Studio 中创建新项目
- 启动 Visual Studio。 
- 在“ 文件 ”菜单上,指向“ 新建”,然后单击“ 项目”。 
- 在模板窗格中,展开 Visual C# 或 Visual Basic,然后展开 Office/SharePoint。 
- 在展开的 Office/SharePoint 节点下,选择 Office 加载项 节点。 
- 在项目模板列表中,选择 Project 2010 外接程序 或 Project 2013 外接程序。 
- 在 “名称 ”框中,键入 FirstProjectAddIn。 
- 单击 “确定” 。 - Visual Studio 创建 FirstProjectAddIn 项目,并在编辑器中打开 ThisAddIn 代码文件。 
编写将新任务添加到项目的代码
接下来,将代码添加到 ThisAddIn 代码文件。 新代码使用 Project 的对象模型向项目添加新任务。 默认情况下,ThisAddIn 代码文件包含以下生成的代码:
- 类的 - ThisAddIn部分定义。 此类提供代码的入口点,并提供对 Project 对象模型的访问权限。 有关详细信息,请参阅 程序 VSTO 外接程序。该- ThisAddIn类的其余部分在不应修改的隐藏代码文件中定义。
- ThisAddIn_Startup和- ThisAddIn_Shutdown事件处理程序。 当 Project 加载和卸载 VSTO 外接程序时,将调用这些事件处理程序。 使用这些事件处理程序在加载 VSTO 外接程序时初始化 VSTO 外接程序,并在卸载 VSTO 外接程序时清理其使用的资源。 有关详细信息,请参阅 Office 项目中的事件。
如何将任务添加到新项目
- 在 ThisAddIn 代码文件中,将以下代码添加到 - ThisAddIn类。 此代码定义- NewProject类事件的- Microsoft.Office.Interop.MSProject.Application事件处理程序。- 当用户创建新项目时,此事件处理程序会将任务添加到项目中。 - void Application_NewProject(Microsoft.Office.Interop.MSProject.Project pj) { MSProject.Task newTask = pj.Tasks.Add ("This text was added by using code", missing); newTask.Start = DateTime.Now; newTask.Duration = "3"; newTask.ResourceNames = "Rob Caron, Kelly Krout"; }- 若要修改项目,此代码示例使用以下对象: 
- Application类的- ThisAddIn字段。 该- Application字段返回一个- Microsoft.Office.Interop.MSProject.Application对象,该对象表示项目的当前实例。
- pjNewProject 事件的事件处理程序的参数。 参数- pj是一个- Microsoft.Office.Interop.MSProject.Project对象,表示项目。 有关详细信息,请参阅 Project 解决方案。
- 如果使用 C#,请将以下代码添加到 - ThisAddIn_Startup事件处理程序。 此代码将- Application_Newproject事件处理程序与 NewProject 事件连接。- this.Application.NewProject += new Microsoft.Office.Interop.MSProject._EProjectApp2_NewProjectEventHandler(Application_NewProject);
测试项目
生成并运行项目时,请验证新任务是否显示在生成的新项目中。
测试该项目
- 按 F5 生成并运行项目。 Microsoft Project 将启动并自动打开新的空白项目。 - 生成项目时,代码将编译为包含在项目的生成输出文件夹中的程序集。 Visual Studio 还会创建一组注册表项,使 Project 能够发现和加载 VSTO 外接程序,并将开发计算机上的安全设置配置为允许 VSTO 外接程序运行。 有关详细信息,请参阅 Office 解决方案生成过程概述。 
- 验证是否已将新任务添加到空白项目中。 
- 验证以下文本是否显示在任务的 “任务名称” 字段中。 - 此文本是使用代码添加的。 
- 关闭Microsoft项目。 
清理项目
完成项目开发后,请从开发计算机中删除 VSTO 外接程序程序集、注册表项和安全设置。 否则,每次在开发计算机上打开 Microsoft Project 时,VSTO 外接程序都会运行。
要清理您的项目
- 在 Visual Studio 的 “生成 ”菜单上,单击“ 清理解决方案”。
后续步骤
现在,你已为 Project 创建了一个基本的 VSTO 外接程序,接下来可以详细了解如何从以下主题开发 VSTO 外接程序:
- 可在 Project 的 VSTO 外接程序中执行的常规编程任务:编写 VSTO 外接程序。 
- 使用 Project: Project 解决方案的对象模型。 
- 生成和调试 Project 的 VSTO 外接程序: 生成 Office 解决方案。 
- 为 Project 部署 VSTO 外接程序: 部署 Office 解决方案。