Compartilhar via


Como: programaticamente criar projetos

Para criar um projeto, chame GetProjectTemplatee, em seguida, passar os caminhos de modelo retornado para AddFromTemplate.

Modelos de projeto têm uma extensão de nome de arquivo. vstemplate e são armazenados em arquivos. zip.Para obter o caminho do arquivo. vstemplate (no arquivo. zip), use GetProjectTemplatee, em seguida, passá-lo para AddFromTemplate para criar o projeto (e também uma solução,) se uma não estiver aberta.Você pode executar esta operação quantas vezes forem necessárias, e todos os projetos serão adicionados à solução aberta no momento.

Os modelos de projeto para todos os idiomas podem ser encontrados no Visual Studio do programa Files\Microsoft 10.0\Common7\IDE\ProjectTemplates\idioma\.

Você também pode criar seus próprios modelos de projeto personalizado.Para especificar o diretório no qual você armazenará seus modelos, clique em Opções sobre o Ferramentas menu.No painel esquerdo da Opções caixa de diálogo, clique em projetos e soluções.Digite o caminho de seus modelos na Visual Studio user project templates location caixa.

Modelos de projeto personalizados requerem nomes de arquivo exclusivo que não entrem em conflito com os nomes de arquivo que são definidos no 10.0\Common7\IDE\ProjectTemplates\ de Visual Studio de Programas\Microsoft do programaidioma\.

Certifique-se de que você use nomes de arquivo longos (em oposição ao que esteja em formato 8.3).Para obter mais informações, consulte Creating Project and Item Templates.

ObservaçãoObservação

As caixas de diálogo e comandos de menu demonstradas podem ser diferentes daqueles descritos na Ajuda, dependendo das configurações ativas ou configurações de edição.Esses procedimentos foram desenvolvidos com o General Development Settings ativo.Para alterar suas configurações, clique em a importação e exportaçãoconfigurações sobre o Ferramentas menu.Para obter mais informações, consulte Configurações de Visual Studio.

Criando um projeto

Criar programaticamente um projeto

  1. Iniciar Visual Studio e criar um Visual Studio o projeto de suplemento.

  2. O suplemento Connect da classe, adicione o código de exemplo mostrado neste tópico.

  3. Executar o projeto de suplemento e ativá-lo em Gerenciador de suplementos.

    Para fazer isso, clique em Gerenciador de suplementos sobre o Ferramentas menu e selecione o add-in.

Exemplo

O exemplo a seguir usa GetProjectTemplate e AddFromTemplate para criar um console dois projetos, um Visual Basic e o outro Visual C#, em uma solução.

Public Sub OnConnection(ByVal application As Object, ByVal _
  connectMode As ext_ConnectMode, ByVal addInInst As Object, _
  ByRef custom As Array) Implements IDTExtensibility2.OnConnection
    _applicationObject = CType(application, DTE2)
    _addInInstance = CType(addInInst, AddIn)
    createProjectsFromTemplates(_applicationObject)
End Sub

Sub createProjectsFromTemplates(ByVal dte As DTE2)
    Try
        ' Create a solution with two projects in it, based on project 
        ' templates.
        Dim soln As Solution2 = CType(DTE.Solution, _
        Solution2)
        Dim csTemplatePath As String
        Dim vbTemplatePath As String
        Dim csPrjPath As String = _
        "C:\UserFiles\user1\addins\MyCSProject"
        Dim vbPrjPath As String = _
        "C:\UserFiles\user1\addins\MyVBProject"

        ' Get the project template path for a C# console project.
        ' Console Application is the template name that appears in the 
        ' right pane, "CSharp" is the Language(vstemplate) as seen in 
        ' the registry.
        csTemplatePath = soln.GetProjectTemplate _
        ("ConsoleApplication.zip", "CSharp")
        MsgBox("C# template path: " & csTemplatePath)
        ' Get the project template path for a Visual Basic
        ' console project.
        ' "vbproj: is the DefaultProjectExtension as seen in the 
        ' registry.
        vbTemplatePath = soln.GetProjectTemplate _
        ("ConsoleApplication.zip", "vbproj")
        MsgBox("Visual Basic template path: " & vbTemplatePath)
        ' Create a new C# console project using the template obtained 
        ' above.
        soln.AddFromTemplate(csTemplatePath, csPrjPath, _
          "New CSharp Console Project", False)
        ' Create a new Visual Basic console project using the template
        ' obtained above.
        soln.AddFromTemplate(vbTemplatePath, vbPrjPath, _
          "New Visual Basic Console Project", False)
    Catch ex As System.Exception
        MsgBox("ERROR: " & ex.ToString)
    End Try
End Sub
public void OnConnection(object application, ext_ConnectMode 
  connectMode, object addInInst, ref Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    createProjectsFromTemplates(_applicationObject);
}

public void createProjectsFromTemplates(DTE2 dte)
{
    try
    {
        // Create a solution with two projects in it, based on project 
        // templates.
        Solution2 soln = (Solution2)dte.Solution;
        string csTemplatePath;
        string vbTemplatePath;
        string csPrjPath = "C:\\UserFiles\\user1\\addins\\MyCSProject";
        string vbPrjPath = "C:\\UserFiles\\user1\\addins\\MyVBProject";
        // Get the project template path for a C# console project.
        // Console Application is the template name that appears in 
        // the right pane. "CSharp" is the Language(vstemplate) as seen 
        // in the registry.
        csTemplatePath = soln.GetProjectTemplate("ConsoleApplication.zip", 
          "CSharp");
        System.Windows.Forms.MessageBox.Show("C# template path: " + 
          csTemplatePath);
        // Get the project template path for a Visual Basic console
        // project.
        // "vbproj: is the DefaultProjectExtension as seen in the 
        // registry.
        vbTemplatePath = soln.GetProjectTemplate("ConsoleApplication.zip", 
          "vbproj");
        System.Windows.Forms.MessageBox.Show("Visual Basic template path: " + 
          vbTemplatePath);
        // Create a new C# console project using the template obtained 
        // above.
        soln.AddFromTemplate(csTemplatePath, csPrjPath, "New CSharp 
          Console Project", false);
        // Create a new Visual Basic console project using the template 
        // obtained above.
        soln.AddFromTemplate(vbTemplatePath, vbPrjPath, "New VB Console 
          Project", false);
    }
    catch (System.Exception ex)
    {
        System.Windows.Forms.MessageBox.Show("ERROR: " + ex.Message);
    }
}

Consulte também

Tarefas

Como: compilar e executar os exemplos de código de modelo de objeto de automação

Como: criar programaticamente os itens de projeto

Conceitos

Manipulação de Visual Basic e projetos do Visual C#

Manipulação de projetos do Visual C++

Outros recursos

Controlando a solução e seus projetos.