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 uma personalizada comando 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
Crie um projeto de biblioteca de classe que possui a seguinte configuração:
Destinos do.NET Framework 3.5.Para obter mais informações sobre como selecionar a estrutura de destino, consulte Como: usar uma versão do.NET Framework.
Destinos do Qualquer_cpu ou plataforma x64.Por padrão, a plataforma de destino para projetos de biblioteca de classe é Qualquer_cpu.Para obter mais informações sobre como selecionar a plataforma de destino, consulte How to: Optimize an Application for a Specific CPU Type.
Observação Você não pode 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 do .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 Implantação de extensões para as ferramentas de SharePoint no Visual Studio.
Adicione referências para os seguintes conjuntos de módulos (assemblies) :
Microsoft.VisualStudio.SharePoint.Commands
Microsoft. SharePoint
Em uma classe no projeto, crie um método que define seu 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 está sendo executado.Ele também fornece uma 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 ao seu 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 non-static.
Aplicar o SharePointCommandAttribute para o método.Este atributo especifica um identificador exclusivo para o comando. Esse identificador não precisa coincidir com o 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 Passo a passo: Criando 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 (VSIX) da extensão do pacote 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 Implantação de extensões para as ferramentas de SharePoint no Visual Studio.
Consulte também
Tarefas
Como: executar um comando do SharePoint
Passo a passo: Estendendo o Server Explorer para exibir Web Parts