Partilhar via


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

Visual Studio fornece dois tipos de modelos de projeto: genérica e específicos de linguagem os programações.

Genérica modelo de projeto

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

Nome do objeto

Descrição

coleção deProjects

Representa todos os projetos na solução.

objeto deProject

Representa um projeto na solução.

coleção deProjectItems

representa todos os itens em um projeto especificado.

objeto deProjectItem

representa um item em um projeto especificado.

Esses objetos permitem que você manipule projetos de qualquer linguagem em Visual Studio.Usando o, você pode:

  • salvar ou excluir um projeto.

  • Crie um novo item de projeto para um projeto, com base nos modelos de Visual Studio .

  • Adicionar itens de projeto para um projeto de arquivos existentes.

  • Remover itens de projeto de um projeto.

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

Modelo de projeto de linguagem específica

Além dos objetos relacionados com genéricos, um conjunto de namespaces representa as propriedades específicas da linguagem de programação de projeto e de item de projeto.Esses namespaces são:

Os objetos principais que representa projetos de linguagem são VSProject e VSProject2.VSProject2 deriva de VSProject, que por sua vez é derivada de Project.Itens de projeto são representados por objetos de VSProjectItem .

linguagem de programação

Namespaces

Visual C#

VSLangProj, VSLangProj2, e VSLangProj80.

Visual Basic

VSLangProj, VSLangProj2, e VSLangProj80.

Visual C++

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

todas as linguagens de programação

EnvDTE e EnvDTE80.

Como os objetos específicos de linguagem derivam dos genéricos, funcionam essencialmente os mesmos, exceto que oferecem acesso a todas as propriedades, métodos e eventos adicionais, que não podem ser acessados com Project e objetos genéricos de ProjectItem .

Para obter mais informações sobre como usar o modelo de projeto de linguagem específica, consulte Introduction to Project Extensibility.

Altere para projetos do Visual Studio .NET Visual C++

Em o Visual Studio .NET e além de isso, tratamento especial para a coleção de ProjectItems para Visual C++ não é mais necessária.Isto é, quando a coleção de Visual C++Projects armazenou anteriormente todos os arquivos de projeto de Visual C++ em uma lista plana, os arquivos são armazenados como hierarquicamente agora estão em outras linguagens de programação.

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

[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

Como: programaticamente criar projetos

Como: criar programaticamente os itens de projeto

Outros recursos

Controlando a solução e seus projetos.