Frage

Ich nahm eine WSP-Datei, und habe meine stsadm -o addsolution wie üblich. Dann ging ich in zentrale Administrations-> Lösungsmanagement und es zeigte sich gut. Dann entfalten ich den Web-Teil, keine Probleme bisher.

Das Problem ist, wenn ich es in die webpart Galerie hinzufügen ( Webpartgalerie: New Web Parts ) in der Regel der Webpart in der Liste ist, überprüfe ich die Box daneben und klicken Sie auf bevöl Galerie , aber es zeigt nicht in der Liste nach oben? Kann ich etwas in meinem manifest.xml fehlt, dies zu verursachen? Ich schrieb und entfalten eine anderen Web-Teil diese genau gleiche Art und Weise, und es ging in Ordnung. Auch ich schrieb einen Dummy webpart, die nichts als Druck tut „arbeiten“ und versuchte, sie mit, dass die gleichen Ergebnisse zu erzielen.

Irgendwelche Ideen?

War es hilfreich?

Lösung

wow ... stellt sich heraus, dass alles, was ich fehlte, war eine 'öffentliche' Erklärung zu meiner Klasse!?!

Ich fühle mich wie ein Idiot. Aber auch habe, muss ich es manuell löschen, um es anerkannt zu bekommen. Danke an alle!

Andere Tipps

Überprüfen Sie, ob die WEBPART Datei in den wpcatalog Ordner Ihrer Website bereitgestellt. Je nachdem, welches Verzeichnis angegeben wurde, als die Webanwendung Provisioning, sollten Sie es an einem Ort, ähnlich wie diese finden:

c: \ Inetpub \ wwwroot \ wss \ Virtual \ 80 \ wpcatalog

Ich habe das gleiche Problem mit einem Webpart hatte ich gearbeitet habe, aber in meinem Fall habe ich einfach vergessen zu fügen Sie ein Webpart „Items im Feature“ ein. Um dies zu tun:

  1. In Lösung Explorer die Unterstruktur Ihrer Eigenschaft entfalten.
  2. Doppelklicken Sie auf das Element mit .feature endet.
  3. Sie sollten eine neue Registerkarte mit Feature Titel, Beschreibung und Umfang sehen. Unter ihnen gibt es zwei Kisten mit Knöpfen dazwischen. Aus dem linken Feld wählen Sie Ihre Webpart und drücken Sie die Taste > (auf dem Bild markiert), um die Funktion hinzuzufügen.

. Hinweis: Sie können dies auch durch die Manifest Taste auf der Unterseite drücken und Bearbeiten der Manifest-Datei manuell, wenn Sie wissen, was Sie tun

Hinzufügen von Webpart-Feature

Das ist wirklich andere Sharepoint-Starter helfen können.

Ich hatte irgendwann gleiches Verhalten. Schließlich schrieben wir ein cmd-Tool, das „stsadm - o addsolution“ läuft. Und dann auf Webpartkatalog alle XML-Dateien für Web-Teile hinzufügen

Es ist Quelle (little-Bit bearbeitet):

string cmd_StsAdm = @"C:\Program files\Common files\Microsoft Shared\web server extensions\12\BIN\stsadm.exe";
string url_Site = "http://localhost";
string url_Web = "http://localhost";
if ( string.IsNullOrEmpty( url_Web ) ) { url_Web = url_Web; }

Console.WriteLine( "Deleting sharepoint solution" );
string args_DeleteSolution = string.Format( "-o deletesolution -name \"{0}\" -override", startInfo.fileNameWsp );
ShellWait( cmd_StsAdm, args_DeleteSolution );

string filePathWsp = "**** path to wsp file ****";
Console.WriteLine( "Adding sharepoint solution" );
string args_AddSolution = string.Format( "-o addsolution -filename \"{0}\"", filePathWsp );
ShellWait( cmd_StsAdm, args_AddSolution );

Console.WriteLine( "Deploy sharepoint solution" );
string args_DeploySolution = "-o deploysolution -name \"{0}\" -local -allowGacDeployment -url \"{1}\" -force";
args_DeploySolution = string.Format( args_DeploySolution, startInfo.fileNameWsp, url_Web );
ShellWait( cmd_StsAdm, args_DeploySolution );

int counter = 0;
foreach ( CWebPartVytvoreniInfo wpRslt in solutionInfo.WebParts ) {
    counter++;
    string msg = string.Format( "Aktivace web part {0} - {1} z {2}", wpRslt.Info.Nazev, counter, solutionInfo.WebParts.Count );
    Console.WriteLine( msg );
    string args_ActivateFeature = "-o activatefeature -id {0} -url {1}";
    args_ActivateFeature = string.Format( args_ActivateFeature, wpRslt.Info.ID, url_Site );
    ShellWait( cmd_StsAdm, args_ActivateFeature );
}

Console.WriteLine( "Connecting to sharepoint site" );
using ( Microsoft.SharePoint.SPSite site = new Microsoft.SharePoint.SPSite( url_Site ) ) {
    Microsoft.SharePoint.SPList ctg_WebParts = site.GetCatalog( Microsoft.SharePoint.SPListTemplateType.WebPartCatalog );

    counter = 0;
    foreach ( WebPartInfo wpInfo in solutionInfo.WebParts ) {
        counter++;
        string dirPath = System.IO.Path.Combine( wpInfo.DirectoryPath );
        string fileName = wpRslt.Info.Nazev + ".webpart";
        string filePath = System.IO.Path.Combine( dirPath, fileName );

        string msg = string.Format( "Uploading file '{0}' - {1} z {2}", fileName, counter, solutionInfo.WebParts.Count );
        Console.WriteLine( msg );
        using ( System.IO.FileStream fstrm = OtevritSoubor( filePath ) ) {
            ctg_WebParts.RootFolder.Files.Add( fileName, fstrm, true );
        }
    }
}

Ich habe festgestellt, dass, wenn ich einen Web-Teil bereitstellen, die zuvor gebrochen war ich musste es manuell löschen, nachdem die Lösung zu entfernen, bevor sie wieder das Hinzufügen der Lösung

Ziel .NET Framework war das Thema für mich. Ich gezielt .NET 3.5 und das nicht für mich arbeiten. So gezielte ich .NET 3.0 statt, und das hat gut geklappt.

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