Domanda

Ho un pacchetto con alcune pagine dell'applicazione (nella cartella Layouts) e una funzionalità che contiene alcune WebPart.Pensavo che i contenuti dei layout venissero copiati prima in SharePoint, quindi le WebPart dalla funzionalità e quindi il ricevitore funzionalità si attivasse.Almeno sembra in Visual Studio perché la cartella Layouts è sempre nella posizione più alta.Ma quando provo a modificare le pagine nel Feature Receiver, viene generato un file che non esiste Eccezione.Gli URL sono corretti e se modifico una Pagina esistente funziona anche.

Cosa devo fare affinché il mio ricevitore si attivi dopo che tutti i contenuti dei layout sono stati distribuiti?

È stato utile?

Soluzione

Il processo di distribuzione/attivazione contiene molti passaggi (anche se VS cerca di farlo sembrare tale):

  1. Quando WSP viene aggiunto alla farm, viene archiviato nel database di configurazione
  2. Quando la soluzione viene distribuita, su ciascun server della farm accadono molte cose
    2.1 Il server ottiene il WSP dal database di configurazione
    2.2 I file dalle cartelle mappate (come le pagine di layout) vengono copiati nella posizione corretta nel file system
    2.3 Le DLL vengono aggiunte al GAC (o cartella bin)
    2.4 Le voci SafeControl vengono aggiunte al web.config di WebApplications
    2.5 Viene attivato l'evento FeatureInstalled
  3. Quando la funzione è attivata
    3.1 Elementi dichiarativi come file from <Module> vengono aggiunti elementi (come i file .webpart).
    3.2 L'evento FeatureActivated viene attivato

Tutto ciò accade quando si sceglie la distribuzione da VS (oltre a molte disinstallazioni) con la configurazione di distribuzione predefinita.Ma l'ordine è ancora quello sopra.

Pertanto, i file in _layouts o SharePointRoot/TEMPLATE/LAYOUTS sono a posto prima che gli eventi vengano attivati.

Ma dici che provi a modificare i file LAYOUTS in Feature Receiver.Questo non è qualcosa che dovresti fare.I file in SharePointRoot non devono essere modificati.

Altri suggerimenti

È possibile utilizzare la configurazione "Nessuna configurazione di implementazione dell'attivazione" che ti aiuterà nei ricevitori delle funzionalità di debug.Usando la configurazione Nessuna attivazione Distribuisci il pacco in SharePoint, vai alla pagina Funzioni, attiva la funzione e il debug del ricevitore della funzione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top