Partilhar via


Genéricos vs. Modelos de projeto específico do idioma-

Visual Studiofornece dois tipos de modelos de projeto: um nome genérico e aqueles de específicos de linguagem de programação.

Modelo genérico de projeto

O modelo de projeto genérico é representado pelos seguintes tipos:

Nome do objeto

Descrição

Projectscoleção

Representa todos os projetos na solução.

Projectobjeto

Representa um projeto na solução.

ProjectItemscoleção

Representa todos os itens em um projeto especificado.

ProjectItemobjeto

Representa um item em um projeto especificado.

Esses objetos permitem que você manipule a projetos de qualquer tipo de idioma em Visual Studio. Usá-los, você pode:

  • Salvar ou excluir um projeto.

  • Criar um novo item de projeto para um projeto, com base na Visual Studio modelos.

  • Adicione itens de projeto a um projeto de arquivos existentes.

  • Remova itens de projeto de um projeto.

  • Abrir, salvar e excluir itens de projeto de um projeto.

Modelo de projeto específicos do idioma

Além de para os objetos relacionados ao projeto genéricos um conjunto de espaços para nome representa o projeto de determinado idioma de programação e propriedades do item de projeto. Esses namespaces são:

Os principais objetos que representa os projetos de idioma é VSProject e VSProject2. VSProject2deriva de VSProject, que por sua vez é derivada de Project. Os itens de projeto são representados por VSProjectItem objetos.

Linguagem de programação

Namespaces

Visual C#

VSLangProj, VSLangProj2, and VSLangProj80.

Visual Basic

VSLangProj, VSLangProj2, and VSLangProj80.

Visual C++

Microsoft.VisualStudio.VCProject e Microsoft.VisualStudio.VCProjectEngine.

Todas as linguagens de programação

EnvDTE e EnvDTE80.

Desde que os objetos específicos do idioma derivam dos genéricos, eles funcionam essencialmente o mesmo, exceto que eles lhe dão acesso a quaisquer outras propriedades, métodos e eventos que não podem ser acessados com o generic Project e ProjectItem objetos.

Para obter mais informações sobre como usar o modelo de projeto de idioma específico, consulte Introdução a extensibilidade de projetos.

Alterar para projetos do Visual Studio.NET 2003 Visual C++

No Visual Studio.NET de 2003 e posteriores, o tratamento especial para o ProjectItems coleção para Visual C++ não é mais necessário. Ou seja, enquanto o Visual C++ Projects coleção anteriormente armazenados em todos os Visual C++ projeto arquivos em uma lista simples, agora os arquivos são armazenados hierarquicamente como eles estão em outro programação idiomas.

Como essa alteração pode afetar o seu código existente, não há uma maneira para emular o comportamento antigo no novo modelo de objeto de projeto específico ao tentar indexar a ProjectItems coleção para determinar se é ou não um arquivo no projeto. A principal diferença é que você agora pode retornar ao modelo de objeto DTE chamando .Object em um Visual C++ objeto.

[Visual Basic]

Dim proj as VCProject = DTE.ActiveSolutionProjects(1).Object
Dim fileColl as IVCCollection = proj.Files
Dim file as VCFile = fileColl.Item("MyFile.cpp")
Dim projItem as ProjectItem = file.Object

Consulte também

Tarefas

How to: Programaticamente, criar projetos

How to: Criar programaticamente os itens de projeto

Outros recursos

Controlando a solução e seus projetos.