Como: Criar projetos programaticamente
Para criar projetos primeiro chamar GetProjectTemplate, e passar os caminhos de modelo retornado AddFromTemplate.
Modelos com uma extensão .vstemplate de projeto e são armazenados em arquivos .zip.Para obter o caminho para o arquivo .vstemplate (dentro do arquivo .zip), você usar GetProjectTemplate, que você passar para AddFromTemplate Para criar o projeto (bem sistema autônomo uma solução, se uma não estiver já em aberto). Você pode executar esta operação quantas vezes forem necessárias, e cada projeto será adicionado à solução aberta no momento.
Os modelos de projeto para todos os idiomas podem ser encontrados em <unidade>: \programa Files\Microsoft visual Studio 8\Common7\IDE\ProjectTemplates\linguagem.
Você também pode criar seus próprios modelos de projeto personalizados.Para especificar o diretório no qual você armazenará seus modelos, clicar Opções on the Ferramentas menu.No painel esquerdo do Opções diálogo, clicar Projetos e soluções.Digite o caminho para os modelos no Local dos modelos de projeto do Visual Studio usuário box.Como alternativa, você pode aceitar o localização padrão.
Modelos de projeto personalizados requerem nomes de arquivo exclusivo que não entrem em conflito com os nomes de arquivo definidos em: <unidade>: \programa Files\Microsoft visual Studio 8\Common7\IDE\ProjectTemplates\linguagem.
Certifique-se de usar nomes extensos de arquivos (em oposição ao que esteja em formato 8.3).Para obter mais informações, consulte Criando modelos de projeto e de item.
Observação: |
---|
As caixas de diálogo e comandos de menu demonstradas podem ser diferentes daqueles descritas na Ajuda, dependendo das configurações ativas ou configurações de edição.Esses procedimentos foram desenvolvidos com o Geral Development Settings ativo.Para alterar as configurações, escolher Import and ExportSettings on the Tools menu.Para obter mais informações, consulte Configurações do Visual Studio. |
Criando um novo projeto
Criar programaticamente um projeto
Iniciar o Visual Studio e criar um novo Visual Studio projeto suplemento.
Adicione o código abaixo para Connect classe.
Executar projeto add-in e ativar-lo a Gerenciador de suplemento.
Para fazer isso, clicar Gerenciador de suplemento on the Ferramentas menu e marque a caixa ao lado do suplemento para ativá-lo.
Exemplo
O exemplo a seguir utiliza GetProjectTemplate e AddFromTemplate Para criar novo console dois projetos, um Visual Basic e o Outros 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\kempb\addins\MyCSProject"
Dim vbPrjPath As String = _
"C:\UserFiles\kempb\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\\kempb\\addins\\MyCSProject";
string vbPrjPath = "C:\\UserFiles\\kempb\\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ódigos automação objeto modelo
Como: Programaticamente, criar itens de projeto
Conceitos
Manipulação de Visual Basic e Visual translation from VPE for Csharp Projects
Manipulação de projetos do Visual C++