Udostępnij za pośrednictwem


Jak: uruchamianie kodu podczas SharePoint projektu jest wdrożony lub Retracted

Jeśli chcesz wykonać dodatkowe zadania podczas projektu programu SharePoint jest wdrożona lub wycofał może obsłużyć zdarzenia, które są wywoływane przez Visual Studio.Aby uzyskać więcej informacji, zobacz Rozszerzanie programu SharePoint, pakowania i rozmieszczania.

Aby uruchomić kod, gdy projekt programu SharePoint jest wdrożony lub wycofana

  1. Tworzenie rozszerzenie elementu projektu, rozszerzenie projektu lub definicji nowy typ elementu projektu.Aby uzyskać więcej informacji zobacz następujące tematy:

  2. Do rozszerzenia dostępu ISharePointProjectService obiektu.Aby uzyskać więcej informacji, zobacz Jak: pobrać usługi SharePoint projektu.

  3. Uchwyt DeploymentStarted i DeploymentCompleted zdarzeń usługi projektu.

  4. W przypadku obsługi, użyj DeploymentEventArgs parametru, aby uzyskać informacje na temat bieżącej sesji wdrażania.Na przykład, można określić, który projekt jest w bieżącej sesji wdrażania i czy jest wdrożona lub wycofana.

Poniższy przykład kodu pokazuje sposób obsługi DeploymentStarted i DeploymentCompleted zdarzenia w rozszerzeniu projektu.To rozszerzenie zapisuje dodatkową wiadomość do produkcji okna podczas wdrażania rozpoczyna i kończy dla projektu programu SharePoint.

Imports System
Imports Microsoft.VisualStudio.SharePoint
Imports Microsoft.VisualStudio.SharePoint.Deployment
Imports System.ComponentModel.Composition

Namespace Contoso.ProjectDeploymentExtension

    <Export(GetType(ISharePointProjectExtension))> _
    Friend Class ExampleProjectDeploymentExtension
        Implements ISharePointProjectExtension

        Private Sub Initialize(ByVal projectService As ISharePointProjectService) _
            Implements ISharePointProjectExtension.Initialize
            AddHandler projectService.DeploymentStarted, AddressOf DeploymentStarted
            AddHandler projectService.DeploymentCompleted, AddressOf DeploymentCompleted
        End Sub

        Private Sub DeploymentStarted(ByVal Sender As Object, ByVal e As DeploymentEventArgs)
            If e.DeploymentContext.IsDeploying Then
                Dim message As String = String.Format("Deployment started for the {0} project.", 
                     e.Project.Name)
                e.DeploymentContext.Logger.WriteLine(message, LogCategory.Status)
            End If
        End Sub

        Private Sub DeploymentCompleted(ByVal Sender As Object, ByVal e As DeploymentEventArgs)
            If e.DeploymentContext.IsDeploying Then
                Dim message As String = String.Format("Deployment completed for the {0} project.", 
                    e.Project.Name)
                e.DeploymentContext.Logger.WriteLine(message, LogCategory.Status)
            End If
        End Sub
    End Class
End Namespace
using System;
using Microsoft.VisualStudio.SharePoint;
using Microsoft.VisualStudio.SharePoint.Deployment;
using System.ComponentModel.Composition;

namespace Contoso.ProjectDeploymentExtension
{
    [Export(typeof(ISharePointProjectExtension))]
    internal class ExampleProjectDeploymentExtension : ISharePointProjectExtension
    {
        public void Initialize(ISharePointProjectService projectService)
        {
            projectService.DeploymentStarted += ProjectService_DeploymentStarted;
            projectService.DeploymentCompleted += ProjectService_DeploymentCompleted;
        }

        void ProjectService_DeploymentStarted(object sender, DeploymentEventArgs e)
        {
            if (e.DeploymentContext.IsDeploying)
            {
                string message = String.Format("Deployment started for the {0} project.",
                     e.Project.Name);
                e.DeploymentContext.Logger.WriteLine(message, LogCategory.Status);
            }
        }

        void ProjectService_DeploymentCompleted(object sender, DeploymentEventArgs e)
        {
            if (e.DeploymentContext.IsDeploying)
            {
                string message = String.Format("Deployment completed for the {0} project.",
                     e.Project.Name);
                e.DeploymentContext.Logger.WriteLine(message, LogCategory.Status);
            }
        }
    }
}

Kompilowanie kodu

W tym przykładzie wymaga odwołania do następujących zestawów:

  • Microsoft.VisualStudio.SharePoint

  • System.ComponentModel.Composition

Wdrażanie rozszerzenia

Aby wdrożyć rozszerzenia, tworzenie Visual Studio extension (VSIX) pakiet Zgromadzenia i inne pliki, które chcesz dystrybuować z rozszerzeniem.Aby uzyskać więcej informacji, zobacz Wdrażanie rozszerzeń dla narzędzia programu SharePoint w programie Visual Studio.

Zobacz też

Koncepcje

Rozszerzanie programu SharePoint, pakowania i rozmieszczania

Jak: uruchamianie kodu podczas wdrażania kroki są wykonywane.