Introduction to Project Extensibility
O modelo de objeto está disponível pela simples adição de referências aos assemblies VSLangProj ao seu projeto: conjuntos de VSLangProj.dll, VSLangProj2.dll, VSLangProj80.dll, VSLangProj90a.dll e VSLangProj100.dll.Para mais informações, consulte Como: Adicionar ou remover referências usando a caixa de diálogo Adicionar referência.Isso significa que o modelo de objeto está disponível para suplementos e qualquer tipo de projeto que deve estender ou automatizar o IDE.Os exemplos nos tópicos são escritos na Visual Basic e Visual C# idiomas.Para obter mais informações sobre como executar os exemplos, consulte Como: compilar e executar os exemplos de código de modelo de objeto de automação.Suplementos podem ser escritos em qualquer Visual Studio hospedada, como o idioma, Visual Basic, Visual C#, e Visual C++.Os tópicos de referência para o VSLangProj, VSLangProj2, VSLangProj80, VslangProj90 e VslangProj100 os membros incluem a sintaxe para cada um desses idiomas.Para uma descrição dos tipos de projeto de automação e recursos de automação, consulte A criação de suplementos e assistentes.
Espaços para nome do VSLangProj
Esses espaços para nomes contêm todas as classes, interfaces e enumerações para Visual Basic e Visual C# projetos.Para obter uma lista completa dos objetos no namespace, consulte Visual Basic e Visual C# objeto modelo de extensibilidade para projetos.
Possível erro usando os Assemblies VSLangProj com EnvDTE Assembly
Se você criar um projeto que faz referência a um ou mais dos assemblies VSLangProj e o EnvDTE assembly, você pode ocasionalmente obter o seguinte erro em tempo de execução:
"Exceção sem tratamento: System.IO.FileNotFoundException: erro ao carregar o arquivo ' EnvDTE, versão = 7.0.3300.0"
Este erro é devido a um conflito de resolução de tipo tempo de execução .Ou seja, a versão do EnvDTE incluída no Visual Studio 2005 é 8.0.xx, mas a referência de configuração do projetoestá procurando por uma versão anterior deste assembly, versão 7.0.xx.Para corrigir esse problema, você deve adicionar um redirecionamento de ligação para a versão mais recente do EnvDTE para o arquivo de configuração (. config) do seu projeto.Isso permitirá que Visual Studio para carregar a versão mais recente do EnvDTE e evitar que o erro ocorra.
Para fazer isso, adicione um "arquivo de configuração do aplicativo" para seu projeto e substituir seu conteúdo com o seguinte:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-
com:asm.v1" appliesTo="v2.0.50318">
<dependentAssembly>
<assemblyIdentity name="EnvDTE" publicKeyToken=
"b03f5f7f11d50a3a"/>
<bindingRedirect oldVersion="7.0.3300.0"
newVersion="8.0.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
Objeto VSProject2
Este objeto fornece acesso a outros objetos no modelo de extensibilidade .O objeto do DTE é o objeto de nível superior na Visual Studio modelo de automação.No modelo de extensibilidade de geral, um projeto é representado por genérico Project objeto. O Project objeto tem um Object propriedade. O tipo desta propriedade é determinado em tempo de execução de linguagem do projeto.Em um Visual Basic ou Visual C#do projeto, o Object propriedade retorna um objeto do tipo VSProject2. Desde o tipo da Object propriedade é o objeto, você deve converter a referência ao tipo VSProject2. Depois que você faz referência a VSProject2 item, você pode manipular as propriedades do projeto, configurações, arquivos, pastas, instruções imports e referências.
Para mais informações, consulte Introdução ao objeto VSProject2.
Referências e objetos de referência
O References propriedade, contido no VSProject2 objeto, contém uma coleção de Reference3 objetos. O Reference3 objeto representa uma referência de projeto e é principalmente um somente leituradeobjeto que ofereça suporte a uma Remove método. O References objeto tem suporte para adicionar referências (COM,.NET assemblies, ActiveX, outros projetos) e gerar eventos (adição, remoção e alteração de referências).
O References objeto não contém as referências da Web de um projeto. Referências Web de um projetopoderão ser recuperadas, acessando o ProjectItemsa propriedade da WebReferencesFolder propriedade.
Para obter mais informações e exemplos de código, consulte Reference e Reference3o objeto, References coleção, Referencesde propriedade, e WebReferencesFolder propriedade.
Objeto de importações
O Imports propriedade contida pelo VSProject2 objeto mantém uma coleção de Imports declarações que aplicar a toda uma Visual Basic projeto. Se uma demonstrativo de importação for adicionado a esta coleção, correspondente a Imports demonstrativo (por exemplo, Imports VSLangProj) não precisa ser adicionado ao arquivo de código. Este objeto oferece suporte adicionando e removendo instruções imports e geração de eventos em resposta a adição e remoção de instruções.Há nenhum equivalente em um Visual C#do projetoe o VSProject2.Importsretorna a propriedade Nothing ou null quando aplicado a uma Visual C# projeto. Para mais informações, consulte Imports.
Objetos de BuildManager e VSProjectItem
O VSProjectItem objeto é a contraparte doitem de projetoda VSProject2 objeto. No modelo de extensibilidade de geral, a genérica ProjectItem objeto representa umitemde projeto. O Object propriedade é do tipo Object e, em um Visual Basic ou Visual C#do projeto, o tipo desta propriedade é VSProjectItem. O VSProjectItem objeto contém propriedades que o link para oitem de projetode pai e de projetoe de um método que força a execução de uma ferramenta personalizada nesse item. O BuildManager objeto lida com a saída da ferramenta personalizada. Para obter mais informações, consulte RunCustomTool método, Introdução ao objeto BuildManager, VSProjectItemo objeto, e BuildManager objeto.
Propriedade Properties
O modelo de extensibilidade de geral tem um Propertiesde propriedade em três objetos:
Project objeto As propriedades deste objeto são equivalentes às propriedades encontradas na Propriedades comuns guia da caixa de diálogo de Property Pages do projetono IDE.
Configuration objeto As propriedades deste objeto são equivalentes às propriedades encontradas na Propriedades de configuração guia da caixa de diálogo de Property Pages do projetono IDE.
ProjectItem objeto As propriedades deste objeto são equivalentes às propriedades encontradas na Propriedadesjanela quando umitem de projetoé selecionado na Solution Explorer.
Em cada maiúsculas e minúsculas a Properties propriedade é uma coleção de objetos do tipo de propriedade. A Property objeto pode ser obtido da coleção , especificando o índice de base 1 da propriedadeou de seu nome. O conteúdo da coleção depende do idioma.No maiúsculas e minúsculas de itens de projeto , o conteúdo também depende se o item é um arquivo ou pasta.
Consulte também
Conceitos
Espectro de automação de Visual Studio