Pergunta

Tenho um projeto de webpart criado no Visual Studio 2010 e ele foi implantado com sucesso em meu ambiente de produção.Recentemente, tive que fazer algumas alterações na webpart e também adicionar uma nova webpart de suporte ao projeto (com base na natureza das webparts e no relacionamento entre elas, pensei que faria sentido manter ambas no mesmo projeto e, portanto, parte do mesmo recurso).

De qualquer forma, após fazer as alterações, implantei no servidor usando o comando 'update-spsolution'.No entanto, embora as alterações que fiz na webpart já existente tenham sido imediatamente visíveis em qualquer página onde a webpart foi implantada, não consigo implantar a webpart recém-criada que fazia parte do recurso; na verdade, nem consegui encontrá-la na galeria de web parts.

Só depois, quando removi a nova webpart do projeto existente e criei um novo projeto, um novo arquivo wsp e implantei a nova solução e, em seguida, ativei o novo recurso, é que consegui implantar a nova webpart.

Estou me perguntando: há algo que estou fazendo de errado ao executar o comando 'update-spsolution' que faz com que minha webpart recém-adicionada não esteja disponível?

Foi útil?

Solução

Você precisará reativar o recurso que você atualizou.Após a reativação, a web parte deve aparecer na galeria.

Outras dicas

Se você quisesse fazer isso da maneira "certa", deveria ter usado a atualização de recursos.

Infelizmente, não é simples, mas oferece muito controle sobre o que acontece quando você implanta uma nova versão de um recurso.

No seu caso, isso envolveria:

  • Adicione os arquivos elements.xml para as novas web parts dentro <ApplyElementManifests> dentro <UpgradeActions> no feature.xml
  • atualizar solução usando update-spsolution como você fez
  • atualizar os recursos (pode ser feito usando Kit de atualização de recursos do SharePoint 2010)

Para obter mais informações sobre a atualização de recursos, consulte a série de Chris O'Briens começando com Atualização de recursos (parte 1) – fundamentos

Mesmo que possa parecer um exagero para um projeto simples, ainda acho que é a coisa certa a fazer pelos seguintes motivos:

  • É uma boa prática entrar e você deve sempre pensar em atualizar seus recursos
  • Se o seu recurso estiver fazendo algo quando ativado/desativado, como adicionar dados ou limpar, ativar/desativar pode não ser uma opção
  • Pode ser muito mais fácil encontrar todos os locais para atualizar um recurso (incorporado) do que fazer um loop e procurar onde o recurso está ativado e, em seguida, desativar/ativar

Descobri que atualizar o WSP às vezes pode ser um pouco complicado.Às vezes fazendo um completo Uninstall-SPSolution/Remove-SPSolution ajudará se você estiver enfrentando um comportamento estranho.

Na minha experiência, a implantação do Visual Studio geralmente ocorre sem problemas.Por causa disso, tentarei combinar o processo de implantação o mais próximo possível se estiver tendo um problema de implantação.Abaixo está uma descrição da configuração de implantação "Padrão" para um projeto do SharePoint no visual studio:

...Empacota o arquivo WSP, recicla o pool de aplicativos, retrai a versão anterior da solução, adiciona a solução, ativa todos os recursos e executa a linha de comando pós-implantação.

Você precisará reativar as web partes da Web Part Gallery Vá para Ações do site> Configurações do site Sob galerias> Web Parts Nos documentos da Galeria de Web Parts> Novo documento Você vai bem as novas Web Parts Selecione as novas Web Parts e clique em Popular Gallery Nas novas propriedades da edição da Web Part, altere o grupo para personalizado e clique em Salvar Depois disso, você vai bem as novas web partes nas web partes personalizadas

Após desativar e, em seguida, ativar e finalmente reciclar o pool de aplicativos resolve meu problema. Agora a web parte é mostrada na galeria.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a sharepoint.stackexchange
scroll top