Benutzerdefinierte Master-Seite kann während der Funktionsdeaktivierung 2013 nicht funktioniert werden
Frage
Ich habe momentan eine benutzerdefinierte Masterseite, die im Rahmen des Standortbereichs eingesetzt wird. Nach der Bereitstellung und die Funktion aktiviert ist die Masterseite zur Verwendung verfügbar. Ich kann die Funktion aktivieren und die Master-Seite auf Websites und Unterbahnen festlegen, die die Masterseite ordnungsgemäß erben.
Das Problem tritt auf, wenn ich versuche, das Feature zu deaktivieren.
Nach dem Deaktivieren habe ich einen Ereignisempfänger, der alle Websites findet, die die Master-Seite des Features aufweisen, und sie auf die Standardstammseite zurückgesetzt. Dazu gehört auch das Einstellen der Masterseite auf den Erbing-Sites.
Das funktioniert gut, aber nachdem dies abgeschlossen ist, versuche ich, die Masterseite von der Master-Page-Galerie und den IT-Fehler zu löschen, und erhebt, dass er noch verwendet wird. Wenn ich die Standorte über die GUI überprüfe, sind sie alle zurück nach Seattle zurückgesetzt, und Erbing Sites erbt immer noch von dem Elternteil, so dass alles in diesem Ende gut aussieht.
Wenn ich in den Inhalt und Struktur der Site-Kollektion gehe, und schauen Sie sich die Seiten der Masterseite nach oben ein Hinweis auf eine Beziehung zu den _deviceChannelMappings.aspx seiten Websites, die die Master-Seite aus dem Elternteil erben. Siehe unten:
Ich konnte keinen Weg finden, um diese Beziehung programmgesteuert zu entfernen, und deshalb kann ich die Masterseite nicht aus der Kataloge-Bibliothek löschen.
Wenn ich in der GUI manuell zur Root-Site-Kollektion gehe und überprüfen Sie die
Jede Hilfe würde geschätzt werden. Hier ist mein aktueller Code für die Funktionsdeaktivierung:
generasacodicetagpre.Lösung 2
Ich weiß nicht, ob dies der beste Weg ist, dieses Problem zu beheben, aber ich konnte das Problem lösen, indem ich das __ deviceChannelMappings.aspx auf die Merkmalsdeaktivierung manuell bearbeitet habe .Dadurch werden die Zuordnungen auf der benutzerdefinierten Masterseite freigegeben und erlaubt, gelöscht zu werden.
Hier ist der letzte Code:
generasacodicetagpre.Andere Tipps
sieht aus, als ob Ihre Master-Seite von den Gerätekanälen während Ihrer gesamten Websites verwendet wird.Microsoft liefert keine öffentliche API zum Anzeigen oder Ändern der konfigurierten Masterseiten für einen Gerätekanal.Damit sagte in meinem Buch (SharePoint 2013 WCM Advanced Cookbook: http://tinyurl.com/lutktay ),Ich habe einige Proben, wie Sie die konfigurierten Masterseiten für Gerätekanäle anzeigen und ändern.
Hier ist der C # -Mustercode zum Anzeigen der Gerätekanäle:
generasacodicetagpre.und hier ist der c #-beispielcode zum Einstellen der Gerätekanäle:
generasacodicetagpre.