Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

Como: Criar a Add Project Test C#-In

O seguinte seções explicam como criar e executar Projeto C# Add-in para eventos interceptação em Visual SourceSafe.

To Criar demonstrates a projeto testar in adicionar C# - In that How to the SourceSafe Events, interceptar the seguinte:

  1. Abrir Visual Studio e, a partir de página, escolher Iniciar Novo Projeto.

  2. Selecionar Visual C# Projects from the modo de exibição de árvore on the left side of the Tela.

  3. Selecionar Class Library as the modelo projeto.

  4. Defina o nome do aplicativo para VSSEvents e clique em OK para criar o projeto.

  5. Realce o arquivo chamado Class1.cs na janela Solução Explorer e renomear seja IvssEventSample.cs.Completely delete the Código inserted by into this.

  6. In Properties Build Configuration set Register for Interop COM to Verdadeiro.

  7. To use the Runtime Callable Wrapper (RCW) for the componente SSAPI.DLL COM, Selecionar References under Project VSSEvents, use botão direito do mouse and then Selecionar Add Reference.Certifique-se de que o .NET Guia estiver selecionada e use botão Selecionar para selecionar PIA Microsoft.VisualStudio.SourceSafe.Interop.dll IVSS.Isso adicionará o componente à lista de componentes selecionados.Clique em OK.

  8. To have acessar to classes namespace System.Windows.Forms, Selecionar References under VSSEvents Project, use botão direito do mouse and then Selecionar Add Reference.Certifique-se de que a guia .NET é selecionada e Usar botão Selecionar para selecionar Sistema. Windows.Forms.dll.Isso adicionará o componente à lista de componentes selecionados.Clique em OK.

O exemplo a seguir demonstra como ajustar o registro eventos VSS

  • Paste the Código below into IvssEventSample.cs:

    using System;
    using System.Runtime.InteropServices;
    using System.Runtime.InteropServices.ComTypes;
    using System.Windows.Forms;
    using Microsoft.VisualStudio.SourceSafe.Interop;
    
    namespace IvssEventSample 
    {
        // Use attributes to declare a fixed Prog ID and Guid for the Add-In.
        [ProgId("Microsoft.SourceSafe.EventSample")]
        [Guid("E1916BD8-A8AA-47b7-A862-C1AF995E64EF")]
        [ComVisible(true)]
        public class IvssEventSample : IVSSEventHandler, IVSSEvents 
        {
            private VSSApp vssApp;
            IConnectionPoint vssEvents;
            int cookie;
    
            public IvssEventSample() 
            {
            }
    
            ~IvssEventSample() 
            {}
    
            public void Init(VSSApp app) 
            {
                MessageBox.Show("Init");
    
                // by saving the VSSApp pointer you can drive the database during events
                this.vssApp = app;
    
                // Wire up the COM connection point manually
                IConnectionPointContainer cpc = (IConnectionPointContainer) app;
                Guid guid = typeof(IVSSEvents).GUID;
                cpc.FindConnectionPoint(ref guid, out vssEvents);
                vssEvents.Advise(this, out cookie);
            }
    
            public void AfterAdd(VSSItem vssItem, string localSpec, string comment) 
            {
                MessageBox.Show("AfterAdd");
            }
    
            public void AfterBranch(VSSItem vssItem, string comment) 
            {
                MessageBox.Show("AfterBranch");
            }
    
            public void AfterCheckin(VSSItem vssItem, string localSpec, string comment) 
            {
                MessageBox.Show("AfterCheckin");
            }
    
            public void AfterCheckout(VSSItem vssItem, string localSpec, string comment) 
            {
                MessageBox.Show("AfterCheckout");
            }
    
            public void AfterEvent(int eventNum, VSSItem vssItem, string str, object var) 
            {
                // Use of this event is deprecated
            }
    
            public void AfterRename(VSSItem vssItem, string oldName) 
            {
                MessageBox.Show("AfterRename");
            }
    
            public void AfterUndoCheckout(VSSItem vssItem, string localSpec) 
            {
                MessageBox.Show("AfterUndoCheckout");
            }
    
            public bool BeforeAdd(VSSItem vssItem, string localSpec, string comment) 
            {
                MessageBox.Show("BeforeAdd");
                return true;
            }
    
            public bool BeforeBranch(VSSItem vssItem, string comment) 
            {
                MessageBox.Show("BeforeBranch");
                return true;
            }
    
            public bool BeforeCheckin(VSSItem vssItem, string localSpec, string comment) 
            {
                MessageBox.Show("BeforeCheckin");
                return true;
            }
    
            public bool BeforeCheckout(VSSItem vssItem, string localSpec, string comment) 
            {
                MessageBox.Show("BeforeCheckout");
                return true;
            }
    
            public bool BeforeEvent(int eventNum, VSSItem vssItem, string str, object var) 
            {
                // Use of this event is deprecated
                return true;
            }
    
            public bool BeforeRename(VSSItem vssItem, string oldName) 
            {
                MessageBox.Show("BeforeRename");
                return true;
            }
    
            public bool BeforeUndoCheckout(VSSItem vssItem, string localSpec) 
            {
                MessageBox.Show("BeforeUndoCheckout");
                return true;
            }
    
            public bool BeginCommand(int unused) 
            {
                // use of this event is deprecated
                return true;
            }
    
            public void EndCommand(int unused) 
            {
                // Use of this event is deprecated
            }
        }
    }
    

Para configurar o Visual SourceSafe faça o seguinte:

  1. Criar nomeado um arquivo ssaddin.ini que contém a seguinte declaração:

    Microsoft.SourceSafe.EventSample = 1
    

    Duplo verificar that the ProgID in IvssEventSample.cs is the same as this declaração in your arquivo ssaddin.ini.

  2. Place this arquivo em the same pasta as ssapi.dll (usually \Microsoft Visual Studio\VSS\win32).

Para testar o aplicativo faça o seguinte:

  1. Compilação o VSSEvents DLL.

  2. Inicie o Explorer do Visual SourceSafe.Durante a execução de operações que tenham os manipuladores de eventos correspondentes no IvssEventSample.cs você deve ser capaz observar caixas de mensagem pop up.For exemplo, WHILE checking out a arquivo you will observar Two Diálogos.The Primeiro diálogo will contain “ BeforeCheckout” mensagem, the second diálogo – “AfterCheckout ”.

Mostrar: