Demonstra Passo a passo: Criar um recurso de projeto simples que dispara quando a carga de projetos

Você pode criar um recurso de projeto para executar ações personalizadas quando ocorrem ações relacionadas ao projeto. Esta explicação passo a passo, você pode criar um recurso de projeto chamado SampleProjectFeature que exibe uma caixa de diálogo quando um projeto de banco de dados é carregado. Você poderia modificar este exemplo para executar ações quando o projeto de banco de dados é carregado.

Esta explicação passo a passo, você irá realizar as seguintes tarefas principais:

  • Criar um pacote de Visual Studio

  • Definir um recurso do projeto

  • Teste o recurso de projeto

Pré-requisitos

Para completar este passo a passo, são necessários os seguintes componentes:

  • Você deve ter instalado Visual Studio 2010 Professional, Visual Studio 2010 Premium, ou Visual Studio 2010 Ultimate.

  • Você deve ter um projeto de banco de dados.

  • Você também deve ter o SDK do Visual Studio 2010 instalado no seu computador. Para baixar esse kit, consulte esta página sobre o Microsoft Web site: SDK de 2010 Visual Studio.

ObservaçãoObservação

Esta explicação passo a passo destina-se a usuários que já estejam familiarizados com os recursos de banco de dados do Visual Studio. Você também deve estar familiarizado com o basic Visual Studio os conceitos, como criar uma biblioteca de classe e de como usar o editor de código para adicionar código para uma classe.

Criar um pacote de Visual Studio

Para iniciar o Assistente de pacote de integração de Visual Studio

  1. No menu File, aponte para New, e em seguida, clique em Project.

  2. Na lista de Modelos instalados, expanda o Other Project Types nó e clique o extensibilidade nó.

  3. No painel de detalhes, clique em Visual Studio pacote de.

    Observação importanteImportante

    Se você não instalou o SDK do Visual Studio 2010, o Visual Studio pacote de integração de o tipo de projeto não está disponível.

  4. Em nome, digite SampleProjectFeature.

  5. Clique em OK.

    O Visual Studio Assistente de pacote de integração de é exibida.

    Em seguida, você deve usar o Assistente para configurar o projeto que você deseja criar.

Para usar o Assistente de pacote de integração de Visual Studio para criar seu projeto.

  1. Clique em Next.

  2. Em Escolher idioma, clique em Visual C#.

    ObservaçãoObservação

    Você também pode criar usando o pacote Visual Basic ou Visual C++. Esta explicação passo a passo mostra somente o código de exemplo Visual Basic e Visual C#.

  3. Em obter chaves de assinatura de assembly, clique em gerar um novo arquivo de chave para assinar o conjunto.

  4. Clique em Next.

  5. Em nome da empresa, tipo MyCompany.

  6. Em nome de VSPackage, tipo SampleProjectFeature.

  7. (Opcional) Você pode fornecer um número de versão específico.

  8. (Opcional) Você pode personalizar o ícone usado pelo seu pacote.

  9. (Opcional) Você pode fornecer informações adicionais sobre o pacote em Informações detalhadas.

  10. Clique em Next.

  11. Selecione o O comando de Menu caixa de seleção.

  12. Verifique o Janela da ferramenta e Editor personalizado caixas de seleção estão desmarcadas.

  13. Clique em Next.

  14. Em Nome do comando, tipo Alternância projeto carregado Dialogs.

  15. Em ID do comando, tipo cmdidEnableDialogs.

  16. Clique em Next.

  17. Limpar o Projeto de teste de integração e Projeto de teste de unidade caixas de seleção.

    ObservaçãoObservação

    Se você estivesse criando um pacote real para uso por sua organização, você deve considerar a criação de testes para o pacote para verificar se ele funciona corretamente.

  18. Clique em Finish.

    A Visual Studio pacote de integração de projeto é criado e aparece no Solution Explorer.

    Em seguida, você irá personalizar o código no pacote para definir o seu recurso de projeto de banco de dados.

Definir um recurso do projeto

Para modificar a definição do pacote para definir um recurso de projeto de banco de dados, você deve atualizar a definição do pacote e, em seguida, você deve adicionar a classe SampleProjectFeature.

Para atualizar a definição de pacote

  1. No Solution Explorer, clique duas vezes em SampleProjectFeaturePackage.cs para abri-lo no editor de código.

  2. No editor de código, localize o método MenuItemCallback.

  3. Substitua a definição do método com o seguinte código:

            private void MenuItemCallback(object sender, EventArgs e)
            {
                SampleProjectFeature.EnableDialogs = !SampleProjectFeature.EnableDialogs;
            }
    
    ObservaçãoObservação

    Um erro é exibida na lista de erros, porque você ainda não tiver definido a classe SampleProjectFeature e o método EnableDialogs.

  4. Sobre o arquivo menu, clique em Salvar SampleProjectFeaturePackage.cs.

    Em seguida, você pode definir a classe de recurso do projeto.

Para definir a classe SampleProjectFeature

  1. No Solution Explorer, clique com o botão direito no projeto SampleProjectFeature, aponte para Adde em seguida, clique em classe.

    O Add New Item caixa de diálogo aparece com o modelo de classe já realçado.

  2. Em nome, digite SampleProjectFeature.cs.

  3. Clique em Adicionar.

    A nova classe é adicionada ao seu projeto e o editor de código aparece e exibe a definição de classe.

  4. No Solution Explorer, clique com o botão direito do projeto e clique em Adicionar referência de.

    O Add Reference caixa de diálogo aparece.

  5. Clique na .NET guia.

  6. Na lista de componentes, destaque as seguintes referências e clique em OK:

    • Microsoft.Data.Schema

    • Microsoft.VisualStudio.Data.Schema.Package

  7. No editor de código, adicione o seguinte usando instruções à definição de classe:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using Microsoft.Data.Schema.Extensibility;
    using Microsoft.Data.Schema;
    using Microsoft.VisualStudio.Data.Schema.Package.Project;
    using Microsoft.VisualStudio.Shell.Interop;
    using System.Globalization;
    
  8. Modificar a definição de classe para especificar a classe base e fornecer o atributo que especifica com quais provedores de esquema do banco de dados, este recurso é compatível. Para esta explicação passo a passo, o exemplo é compatível com todos os provedores de esquema de banco de dados.

        [DatabaseSchemaProviderCompatibility(typeof(DatabaseSchemaProvider))]
        class SampleProjectFeature : IDatabaseProjectFeature
        {
        }
    

    Interfaces de chaves, tipos e métodos são DatabaseSchemaProviderCompatibilityAttribute, DatabaseSchemaProvider, e IDatabaseProjectFeature.

  9. Adicione um par de propriedades para sua classe:

            public static bool EnableDialogs { get; set; }
            private IDatabaseProjectNode ProjectNode { get; set; }
    

    A primeira propriedade é usada pelo comando que pode habilitar ou desabilitar esse recurso do projeto. Interface digno de nota é IDatabaseProjectNode.

  10. Adicione construtor a seguir à sua classe:

            static SampleProjectFeature()
            {
                EnableDialogs = true;
            }
    

    O construtor inicializa a propriedade EnableDialogs.

  11. Adicione o método Initialize para sua classe:

            public void Initialize(IDatabaseProjectNode projectNode)
            {
                ProjectNode = projectNode;
    
                // Hook up to a few events
                ProjectNode.ProjectLoaded += delegate
                {
                    ShowDialog("In ProjectLoaded Event");
                };
            }
    

    O método Initialize identifica o projeto ao qual o recurso está sendo aplicado e prepara o Assista para o evento ProjectLoaded.

  12. Por último, adicione o método ShowDialog que exibirá uma caixa de diálogo quando ocorre um evento ProjectLoaded, se o recurso está ativado:

            void ShowDialog(string msg)
            {
                if (!SampleProjectFeature.EnableDialogs)
                    return;
    
                // Show a Message Box to indicate that we were here
                IVsUIShell uiShell = (IVsUIShell)Microsoft.VisualStudio.Shell.Package.GetGlobalService(typeof(SVsUIShell));
                Guid clsid = Guid.Empty;
                int result;
                Microsoft.VisualStudio.ErrorHandler.ThrowOnFailure(uiShell.ShowMessageBox(
                           0,
                           ref clsid,
                           "Simple Project Feature",
                           msg,
                           string.Empty,
                           0,
                           OLEMSGBUTTON.OLEMSGBUTTON_OK,
                           OLEMSGDEFBUTTON.OLEMSGDEFBUTTON_FIRST,
                           OLEMSGICON.OLEMSGICON_INFO,
                           0,        // false
                           out result));
            }
    

    Se o usuário tem desativada o recurso usando o comando de menu, o método retorna. Caso contrário, esse método exibe uma caixa de diálogo. No seu próprio recurso de projeto, em vez de exibir uma caixa de diálogo, você pode executar um processamento adicional.

  13. Sobre o arquivo menu, clique em Salvar SampleProjectFeature.cs.

Em seguida, você criará o projeto.

Para construir o projeto.

  • Sobre o Build menu, clique em Build Solution.

Em seguida, você irá coletar informações de assembly geradas no projeto, incluindo a versão, cultura e PublicKeyToken.

Para coletar informações de assembly

  1. Abra o menu Iniciar, aponte para Microsoft 2010 de Visual Studio, aponte para ferramentas do Visual Studio e clique em Prompt de comando Visual Studio (2010).

  2. Navegue até a pasta que contém o seu assembly compilado (SampleProjectFeature.dll).

  3. Digite a seguinte linha de comando:

    SN.SampleProjectFeature.dll -T de EXE

  4. Anote o token de chave público. Ele será usado no próximo procedimento.

Em seguida, você criará um arquivo XML usando as informações de assembly reunidas no procedimento anterior.

Para criar o arquivo XML

  1. Em Solution Explorer, selecione o projeto SampleProjectFeature.

  2. No menu Project, selecione Add New Item.

  3. No modelos de painel, localize e selecione o Arquivo XML item.

  4. No nome caixa de texto, digite SampleProjectFeature.Extensions.xml e clique no Add botão.

    O arquivo de SampleProjectFeature.Extensions.xml é adicionado ao projeto no Solution Explorer.

  5. Abra o arquivo SampleProjectFeature.Extensions.xml e atualizá-lo para coincidir com o seguinte XML. Substitua o PublicKeyToken que você recuperou no procedimento anterior.

    <?xml version="1.0" encoding="utf-8"?>
    <extensions assembly=""
                version="1" xmlns="urn:Microsoft.Data.Schema.Extensions"
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                xsi:schemaLocation="urn:Microsoft.Data.Schema.Extensions Microsoft.Data.Schema.Extensions.xsd">
    
      <extension type=" MyCompany.SampleProjectFeature.SampleProjectFeature" assembly="SampleProjectFeature, Version=1.0.0.0, Culture=neutral, PublicKeyToken=nnnnnnnnnnnnnnnn" enabled="true"/>
    </extensions>
    
  6. Sobre o arquivo menu, clique em Salvar.

Em seguida, você pode modificar as propriedades do arquivo Extensions.xml incluí-lo no vsixmanifest.

Para incluir o vsixmanifest SampleProductFeature.Extensions.xml

  1. No Solution Explorer, clique em SampleProjectFeature.Extensions.xml.

  2. Na janela Properties, altere o Build Action propriedade para conteúdo.

  3. Alterar a incluir na propriedade VSIX para True.

  4. No menu File, clique em Save All.

  5. No menu Build, clique em Build SampleProjectFeature.

    O arquivo vsixmanifest é atualizado. Em seguida, você estará pronto para testar o recurso do projeto.

Teste o recurso de projeto

Para testar o recurso de projeto, você deve compilá-lo e, em seguida, você pode pressionar F5 para iniciar a compilação experimental do Visual Studio.

Para criar e testar seu recurso de projeto de banco de dados

  1. Sobre o projeto menu, clique em Build.

    Seu projeto deve compilar com êxito.

  2. Pressione F5 para executar o seu pacote na compilação experimental do Visual Studio.

    Uma instância experimental do Visual Studio aparece. No menu Ferramentas, o comando Toggle projeto carregado Dialogs aparece.

  3. Sobre o arquivo , aponte para Abrire clique em Project/Solution.

  4. Navegue para o projeto de banco de dados (.dbproj) que você deseja abrir e clique em Abrir.

    Como o seu projeto de banco de dados é carregado, aparece uma caixa de diálogo com a mensagem "Simples projeto recurso no ProjectLoaded evento".

    Neste ponto, você pode personalizar o seu recurso de projeto para adicionar mais recursos.

Próximas etapas

Se você copiar o recurso que você criou nesta explicação passo a passo como ponto de partida para o seu próprio trabalho, você deve:

  • Dê um nome exclusivo de sua extensão.

  • Dê a sua extensão um GUID exclusivo

Quando você cria um novo pacote usando o Visual Studio Assistente de pacote de integração de, é criado um novo GUID.

Antes do pacote está disponível em instâncias regulares de Visual Studio, você deve registrar o proprietário. Para obter mais informações sobre os VSPackages, consulte:

Consulte também

Tarefas

How to: Troubleshoot VSPackages

Conceitos

Estender os recursos de banco de dados de Visual Studio

Uma visão geral do banco de dados e projetos de servidor

Outros recursos

Criar recursos de personalizado para projetos de banco de dados

Histórico de alterações

Date

History

Motivo

Julho de 2010

Feita a uma pequena correção para o arquivo Extensions.xml para resolver um problema identificado o cliente.

Comentários do cliente.