如何:使用扩展性创建新的 Windows 应用程序
创建一个新项目并将它添加到当前解决方案是通过常规扩展性 DTE.Solution 对象的 AddFromTemplate 方法完成的。 该任务假定您知道如何访问宏集成开发环境 (IDE) 和创建宏项目。 有关更多信息,请参见 使用宏自动执行重复性操作。
下面的步骤创建一个 Visual Basic 项目。 若要创建 Visual C# 项目,请使用步骤 4 中的字符串 "CSharp"。
提示
显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您现用的设置或版本。 这些过程是在“常规开发设置”处于活动状态时开发的。 若要更改设置,请在“工具”菜单上选择“导入和导出设置”。 有关更多信息,请参见 使用设置。
向解决方案添加新项目
创建新的宏模块并将其命名为 NewProject。
将一个名为NewWindowsProject 的新宏添加到模块中。
Sub NewWindowsProject() ' Add code here to create new project. End Sub
这个宏添加一个新的 Visual Basic Windows 应用程序。
选择需要用于控制台项目的模板。 可以创建几种不同的项目类型,如下表所示。 对于 Windows 应用程序,请使用 WindowsApplication.zip 模板。
模板名
项目类型
ClassLibrary.zip
类库
ConsoleApplication.zip
控制台应用程序
EmptyProject.zip
空项目
WebApplication.zip
Web 应用程序
WebControl.zip
Web 控件
WebService.zip
Web 服务
WindowsApplication.zip
Windows 应用程序
WindowsControl.zip
Windows 控件
WindowsService.zip
Windows 服务
使用模板的语法为 GetProjectTemplate("WindowsApplication.zip", "VisualBasic")。 您也可以访问特定于应用程序的模板,例如:GetProjectTemplate("PocketPC2003-ClassLibrary.zip", "CSharp") 返回 Pocket PC 2003 项目的 Visual C# 类库的模板。 <驱动器>\Program Files\Microsoft Visual Studio 10\Common7\IDE\ProjectTemplates\语言 中提供了针对所有语言的项目模板。
您也可以创建个性化的自定义项目模板和自定义项目项模板。 若要指定将在其中存储您的模板的目录,请单击**“工具”菜单中的“选项”。 在“选项”对话框的左侧窗格中,单击“项目和解决方案”。 在“Visual Studio 用户项目模板位置”和“Visual Studio 用户项模板位置”**框中键入模板的路径。 或者,您可以接受默认位置。
自定义模板需要唯一的文件名,且不与下面路径中定义的文件名冲突:
- <驱动器>:\Program Files\Microsoft Visual Studio 10\Common7\IDE\ProjectTemplates\语言
和
- <驱动器>:\Program Files\Microsoft Visual Studio 10\Common7\IDE\ItemTemplates\语言。
请确保使用长文件名(而非 8.3 文件名)。 有关更多信息,请参见创建项目模板和项模板。
使用 GetProjectTemplate 方法定位项目模板。 模板路径取决于语言,因此若要检索 Visual Basic 模板,请使用字符串 "Visual Basic",如下所示。 对于 Visual C# 模板,请使用字符串 "CSharp"。
Dim vbTemplatePath As String Dim vbProjectPath As String vbProjectPath = "C:\UserFiles\MyFiles\MyProject" vbTemplatePath = soln.GetProjectTemplate( _ "WindowsApplication.zip", "VisualBasic")
调用 AddFromTemplate 方法。
' Create a new solution. ' Make sure the filepath below exists ' on your computer. soln.Create("C:\UserFiles\MyFiles\MyProject", "MySolution") ' Create a new VB console project using the template ' obtained above. soln.AddFromTemplate(vbTemplatePath, vbProjectPath, _ "VB Console Project", False)
完整的宏显示在下面:
Sub NewWindowsProject () 'This function creates a solution and adds a Visual Basic Console 'project to it. Dim soln As Solution2 = CType(DTE.Solution, Solution2) 'Dim proj As Project Dim msg As String Dim vbTemplatePath As String Dim vbProjectPath As String vbProjectPath = "C:\UserFiles\MyFiles\MyProject" vbTemplatePath = soln.GetProjectTemplate _ ("WindowsApplication.zip", "VisualBasic") ' Create a new solution. ' Make sure the filepath below exists ' on your computer. soln.Create("C:\UserFiles\MyFiles\MyProject", "MySolution") ' Create a new VB console project using the template ' obtained above. soln.AddFromTemplate(vbTemplatePath, vbProjectPath, _ "VB Windows Project", False) msg = "Created new solution: " & soln.FullName & vbCrLf msg = msg & "Created new project: " & soln.Projects.Kind() MsgBox(msg) End Sub
保存该宏,关闭宏 IDE,然后从**“Macro 资源管理器”**运行该宏。
查看名为“MySolution”的新解决方案,以及**“解决方案资源管理器”**中的名为“VB Windows 项目”的 Windows 应用程序。
请参见
任务
How to: Migrate Code that Creates Projects by Using Templates