Frage

Ich schrieb gerade einen neuen Teilbahn und jetzt bin ich diesen Fehler, wenn ich versuche, sie zu implementieren auf meinem nicht-dev-Server:

  

der Standardnamespace   ' http://schemas.microsoft.com/WebPart/v2 '   ist ein reservierter Namensraum für die Basis-Web   Teil propertiees. Custom Web Part   Eigenschaften erfordern einen eindeutigen Namespace   (Angegeben durch eine   XmlElementAttribute auf dem Grundstück,   oder ein XmlRootAttribute von der Klasse).

Ich bin die Webparts in CAB-Dateien zu schreiben und sie mit dieser Bereitstellung:

stsadm -o addwppack -filename web_part_name.CAB -url http://your_url_here -globalinstall -force 

Alles funktioniert gut, bis ich versuche, den Webpart hinzuzufügen, dann bekomme ich diesen Fehler in einem Popup. Es funktioniert gut auf meinem dev VM ...?

Alle möglichen Ideen würden schätzen, danke.

War es hilfreich?

Lösung

Nun, es sieht aus wie Ihr webpart Definitionsdatei si irgendwie gebrochen. Die Wey ich es tun ist webpart in Seite zu setzen und exportieren es dann. Sie können dies nur durch webpart Galerie zu öffnen, die in Website-Einstellungen von Stammwebsitesammlung befinden können und Ihre webpart dort hinzufügen.

Danach legen nur webpart auf jede Seite und verwenden Sie den Export-Button in webpart Einstellungen. Dies wird produzieren WEBPART oder DWP-Datei je nach webpart (WEBPART ist ‚neu‘ Definition, die von webparts heimisch MOSS 2007 und DWP verwendet wird, für ältere webparts ist, aber es hängt davon ab, wie Sie Ihre webpart geschrieben haben)

Dann nehmen Sie einfach exportierte Datei und schließen Sie sie in Ihr Projekt. Dieser Ansatz funktioniert gut für mich zumindest.

Andere Tipps

Haben Sie Ihren Web-Teil als WEBPART Datei verpacken? Ist dies der Fall ist, müssen Sie die neue Version 3 Namensraum verwenden. Um die v2 zu verwenden, haben Sie es als eine DWP-Datei zu verpacken.

Ja, Ihre Webpart-Definitionsdatei (* DWP oder * WEBPART) ist wahrscheinlich nicht korrekt. Dann poste es hier, und es sollte den Fehler finden flink sein.

Ein bisschen eine Vermutung hier aber trotzdem: -

Überprüfen Sie zunächst, dass Sie XmlRoot Attribut wie diese in Ihrem Web-Teil haben

[XmlRoot(Namespace = "Your.Namespace")]
public class YourWebPart: WebPart
{
...

und XmlElement Attribut auf Ihren benutzerdefinierten Eigenschaften

    [DefaultValue(0)]
    [WebPartStorage(Storage.Shared)]
    [Browsable(false)]
    [XmlElement(ElementName = "YourProperty")]
    public Int64 YourProperty
    {         
       ...
    }

Dieser Fehler geschieht, wenn .NET versucht, die Daten aus der DWP-Datei desterilize und den benutzerdefinierten Eigenschaften in Ihrem Web-Teil eingestellt.

Ich vermute, dass der Fehler nichts mit Namespace-Konflikten zu tun hat, wie Sharepoint manchmal zurück auf eine Fehlermeldung zu fallen neigt, die eine falsche Fährte sein kann.

Ich würde zunächst Ihre DWP-Datei prüfen. Haben Sie benutzerdefinierte Eigenschaften dort gesetzt, wenn sie so entfernen und erneut testen.

die benutzerdefinierten Eigenschaften in Ihrem Web-Teilcode ein bei jedem Schritt durch ein und wiederholen Sie den Test auf Kommentar.

Ich glaube, Sie werden feststellen, eine davon ist das Problem verursacht - genau, warum ist die nächste Frage

!
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top