Pergunta

Eu tenho um pacote com algumas páginas do aplicativo (na pasta Layouts) e um recurso que contém alguns WebParts.Achei que o conteúdo dos Layouts é copiado primeiro para o SharePoint, depois os WebParts do Recurso e, em seguida, o Receptor do Recurso é acionado.Pelo menos é assim no Visual Studio porque a pasta Layouts está sempre na posição superior.Mas quando tento modificar as páginas no Feature Receiver, ele lança um arquivo não existe exceção.Os URLs estão corretos e se eu modificar uma página existente ela também funciona.

O que preciso fazer para que meu Receptor seja acionado depois que todo o conteúdo do Layouts for implantado?

Foi útil?

Solução

O processo de implantação/ativação contém muitas etapas (embora o VS tente fazer com que pareça uma):

  1. Quando o WSP é adicionado ao farm, ele é armazenado no banco de dados de configuração
  2. Quando a solução é implantada muitas coisas acontecem em cada servidor do Farm
    2.1 O servidor obtém o WSP do banco de dados de configuração
    2.2 Os arquivos das pastas mapeadas (como páginas de layout) são copiados para o local correto no sistema de arquivos
    2.3 As DLLs são adicionadas ao GAC (ou pasta bin)
    2.4 Entradas SafeControl são adicionadas ao web.config de WebApplications
    2.5 O evento FeatureInstalled é acionado
  3. Quando o recurso está ativado
    3.1 Elementos declarativos como arquivos de <Module> elementos (como seus arquivos .webpart) são adicionados
    3.2 O evento FeatureActivated é acionado

Tudo isso acontece quando você escolhe implantar do VS (além de muitas desinstalações) com a configuração de implantação padrão.Mas a ordem ainda é a acima.

Portanto, os arquivos em _layouts ou SharePointRoot/TEMPLATE/LAYOUTS estão no lugar antes dos eventos serem disparados.

Mas você mencionou que tentou modificar os arquivos LAYOUTS no Feature Receiver.Isso não é algo que você deva fazer.Os arquivos no SharePointRoot não devem ser modificados.

Outras dicas

Você pode usar a configuração "sem ativação de ativação" , que irá ajudá-lo a depurar receptores de recursos.Usando a configuração sem ativação Você implantaria seu pacote para o SharePoint, vá para a página de recursos, ative seu recurso e depure o receptor de recursos.

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