如何:使用扩展性创建新的 Windows 应用程序

创建一个新项目并将它添加到当前解决方案是通过常规扩展性 DTE.Solution 对象的 AddFromTemplate 方法完成的。 该任务假定您知道如何访问宏集成开发环境 (IDE) 和创建宏项目。 有关更多信息,请参见 Automating Repetitive Actions by Using Macros

下面的步骤创建一个 Visual Basic 项目。 若要创建 Visual C# 项目,请使用步骤 4 中的字符串 "CSharp"。

备注

显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您现用的设置或版本。这些过程是在“常规开发设置”处于活动状态时开发的。若要更改设置,请在“工具”菜单上选择“导入和导出设置”。有关更多信息,请参见 Visual Studio 设置

向解决方案添加新项目

  1. 创建新的宏模块并将其命名为 NewProject。

  2. 将一个名为NewWindowsProject 的新宏添加到模块中。

    Sub NewWindowsProject()
       ' Add code here to create new project.
    End Sub
    

    这个宏添加一个新的 Visual Basic Windows 应用程序。

  3. 选择需要用于控制台项目的模板。 可以创建几种不同的项目类型,如下表所示。 对于 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 文件名)。 有关更多信息,请参见Creating Project and Item Templates

  4. 使用 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")
    
  5. 调用 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
    
  6. 保存该宏,关闭宏 IDE,然后从**“Macro 资源管理器”**运行该宏。

  7. 查看名为“MySolution”的新解决方案,以及**“解决方案资源管理器”**中的名为“VB Windows 项目”的 Windows 应用程序。

请参见

任务

如何:用编程方式创建项目

如何:以编程方式创建项目项

其他资源

控制解决方案及其项目

Migrating Code that Creates Projects by Using Templates

Creating Project and Item Templates