Feature Receiver Brände vor dem Inhalt des Layouts werden kopiert
-
10-12-2019 - |
Frage
Ich habe ein Paket mit einigen Anwendungsseiten (im Ordner Layouts) und eine Funktion, die einige Webparts enthält.Ich habe den Layout-Inhalt ausgewertet, um zuerst auf SharePoint zu kopieren, und dann die Webparts von der Funktion und dann den Feature-Empfänger feuern.Zumindest sieht es in Visual Studio so aus, da der Ordner "Layouts-Ordner immer auf der obersten Postition vorzunehmen.Wenn ich jedoch versuche, die Seiten in dem Feature-Empfänger zu ändern, wird er auslöst, dass eine Datei keine Ausnahme existiert. Die URLs sind korrekt und wenn ich eine vorhandene Seite ändert, funktioniert es auch.
Was muss ich tun, um meinen Receiver zu schießen, nachdem der Inhalt des Layouts eingesetzt wird?
Lösung
Der Bereitstellungs- / Aktivierungsprozess enthält viele Schritte (obwohl VS versucht, es wie eins aussehen):
- .
- Wenn WSP dem in der Konfigurationsdatenbank gespeicherten Farm hinzugefügt wird, der in der Konfigurationsdatenbank gespeichert ist
- Wenn die Lösung auf jedem Server in der Farm eine Menge Dinge eingesetzt wird, ist der Fall
2.1 Der Server erhält den WSP aus der Konfigurationsdatenbank
2.2 Die Dateien aus zugeordneten Ordnern (wie Layoutseiten) werden in den richtigen Ort in das Dateisystem kopiert
2.3 Die DLLs werden dem GAC (oder bin Ordner) hinzugefügt
2.4 SafeControl-Einträge werden dem web.config von webapplications hinzugefügt
2.5 Das FeelmentInstallED-Ereignis wird ausgelöst - wenn die Funktion aktiviert ist
3.1 Deklarative Elemente wie Dateien von<Module>
-Elementen (wie Ihre .WebPart-Dateien) werden hinzugefügt
3.2 Das FeatureAcImIalated Event ist ausgelöstAll dies ist der Fall, wenn Sie mit der Standardbereitstellungskonfiguration von VS (plus vieler Deinstallation) wählen. Aber die Reihenfolge ist immer noch wie oben.
So sind die Dateien in _LAYOUTs oder SharePointroot / Template / Layouts vorhanden, bevor Ihre Ereignisse feuert.
Sie erwähnen jedoch, dass Sie versuchen, die Layouts-Dateien in dem Feature-Empfänger zu ändern. Dies ist nicht etwas, was Sie tun sollten. Dateien in SharePointRoot sollten nicht geändert werden.
Andere Tipps
Sie können die