Como: Criar um comando do SharePoint

Se você quiser usar o modelo de objeto do servidor em uma extensão de ferramentas do SharePoint, você deve criar um personalizado comando do SharePoint para chamar a API. Você pode definir o comando do SharePoint em um assembly que pode chamar diretamente no modelo de objeto do servidor.

Para obter mais informações sobre a finalidade dos comandos do SharePoint, consulte A chamada para os modelos de objeto do SharePoint.

Para criar um comando do SharePoint

  1. Crie um projeto de biblioteca de classe que possui a seguinte configuração:

    ObservaçãoObservação

    Não é possível implementar um comando do SharePoint no mesmo projeto que define uma extensão de ferramentas do SharePoint, porque o destino de comandos do SharePoint a.NET Framework 3.5 e o SharePoint destino de extensões de ferramentas de .NET Framework 4. Você deve definir os comandos do SharePoint que são usados por sua extensão em um projeto separado. Para obter mais informações, consulte Implantar extensões para as ferramentas do SharePoint em Visual Studio.

  2. Adicione referências para os seguintes conjuntos de módulos (assemblies) :

    • Microsoft.VisualStudio.SharePoint.Commands

    • Microsoft. SharePoint

  3. Em uma classe no projeto, crie um método que define o comando do SharePoint. O método deve estar de acordo com as diretrizes a seguir:

    • Ele pode ter um ou dois parâmetros.

      O primeiro parâmetro deve ser um ISharePointCommandContext objeto. Este objeto fornece a Microsoft.SharePoint.SPSite ou Microsoft.SharePoint.SPWeb no qual o comando é executado. Ele também fornece um ISharePointCommandLogger objeto que pode ser usado para gravar mensagens para o saída janela ou Error List janela no Visual Studio.

      O segundo parâmetro pode ser um tipo de sua escolha, mas este parâmetro é opcional. Você pode adicionar esse parâmetro para o comando do SharePoint, se você precisar passar dados de sua extensão de ferramentas do SharePoint para o comando.

    • Ele pode ter um valor de retorno, mas isso é opcional.

    • O segundo valor de parâmetro e retorno deve ser um tipo que pode ser serializado pelo Windows Communication Foundation (WCF). Para obter mais informações, consulte Types Supported by the Data Contract Serializer e Using the XmlSerializer Class.

    • O método pode ter qualquer visibilidade (public, internal, ou private), e pode ser estático ou não-static.

  4. Aplicar o SharePointCommandAttribute para o método. Este atributo especifica um identificador exclusivo para o comando. Esse identificador não precisa corresponder ao nome do método.

    Quando você chama o comando a partir de sua extensão de ferramentas do SharePoint, você deve especificar o mesmo identificador exclusivo. Para obter mais informações, consulte Como: Executar um comando do SharePoint.

Exemplo

O exemplo de código a seguir demonstra um comando do SharePoint que possui o identificador Contoso.Commands.UpgradeSolution. Este comando usa APIs no modelo de objeto do servidor para atualizar para uma solução implantada.

<SharePointCommand("Contoso.Commands.UpgradeSolution")> _
Private Sub UpgradeSolution(ByVal context As ISharePointCommandContext, ByVal fullWspPath As String)
    Dim solution As SPSolution = SPFarm.Local.Solutions(Path.GetFileName(fullWspPath))
    If solution Is Nothing Then
        Throw New InvalidOperationException("The solution has not been deployed.")
    End If
    solution.Upgrade(fullWspPath)
End Sub
[SharePointCommand("Contoso.Commands.UpgradeSolution")]
private void UpgradeSolution(ISharePointCommandContext context, string fullWspPath)
{
    SPSolution solution = SPFarm.Local.Solutions[Path.GetFileName(fullWspPath)];

    if (solution == null)
    {
        throw new InvalidOperationException("The solution has not been deployed.");
    }

    solution.Upgrade(fullWspPath);
}

Com a primeira implícita ISharePointCommandContext parâmetro, este comando também tem um parâmetro de seqüência de caracteres personalizada que contém o caminho completo do arquivo. wsp, que está sendo atualizado para o site do SharePoint. Para ver este código no contexto de um exemplo maior, consulte Demonstra Passo a passo: A criação de uma etapa de implantação personalizado para projetos do SharePoint.

Compilando o código

Este exemplo requer referências aos assemblies seguintes:

  • Microsoft.VisualStudio.SharePoint.Commands

  • Microsoft. SharePoint

Implantando o comando

Para implantar o comando, inclua o conjunto de comando na mesma Visual Studio pacote de extensão (VSIX) com o assembly de extensão que usa o comando. Você também deve adicionar uma entrada para o assembly de comando no arquivo extension.vsixmanifest. Para obter mais informações, consulte Implantar extensões para as ferramentas do SharePoint em Visual Studio.

Consulte também

Tarefas

Demonstra Passo a passo: Estendendo o Server Explorer para exibir Web Parts

Conceitos

A chamada para os modelos de objeto do SharePoint

Outros recursos

Como: Executar um comando do SharePoint