2

wspファイルを取得し、通常どおりstsadm-oaddsolutionを実行しました。それから私は中央管理->ソリューション管理に入りました、そしてそれはうまく現れました。次に、Webパーツを展開しましたが、これまでのところ問題はありません。

問題は、Webパーツギャラリー( Webパーツギャラリー:新しいWebパーツ)に追加しようとすると、通常はWebパーツがリストにあるので、その横にあるチェックボックスをオンにして[ギャラリーに入力]をクリックしますが、に表示されません。リスト?これを引き起こすためにmanifest.xmlに何かが欠けている可能性がありますか?これとまったく同じ方法で別のWebパーツを作成してデプロイしたところ、うまくいきました。また、「動作中」と印刷するだけのダミーのWebパーツを作成し、同じ結果が得られるように試してみました。

何か案は?

4

6 に答える 6

6

うわー...私が欠けていたのは私のクラスの「公開」宣言だけだったことがわかりました!?!

私は馬鹿のように感じます。しかしまた、それを認識させるために手動で削除する必要がありました。みんな、ありがとう!

于 2008-10-17T02:11:30.617 に答える
2

.webpartファイルがWebサイトのwpcatalogフォルダーにデプロイされていることを確認します。Webアプリケーションのプロビジョニング時に指定されたディレクトリに応じて、次のような場所にあるはずです。

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

于 2008-10-16T14:05:58.290 に答える
2

私が取り組んでいる Web パーツで同じ問題が発生しましたが、私の場合は、[機能内のアイテム]ボックスに Web パーツを追加するのを忘れていました。これをする:

  1. ソリューション エクスプローラーで、フィーチャーのサブツリーを展開します。
  2. で終わる項目をダブルクリックします.feature
  3. 機能のタイトル、説明、および範囲を含む新しいタブが表示されます。それらの下には、ボタンが間にある 2 つのボックスがあります。左側のボックスから Web パーツを選択し、>ボタン (画像にマーク) を押してフィーチャーに追加します。

注:Manifest下のボタンを押してマニフェスト ファイルを手動で編集することでも、これを行うことができます。

機能への Web パーツの追加

これは、他の SharePoint 初心者にとって本当に役立つかもしれません。

于 2013-01-17T11:38:59.917 に答える
1

以前に中断されたWebパーツをデプロイした場合、ソリューションを削除した後、ソリューションを再度追加する前に、手動で削除する必要があることがわかりました。

于 2008-10-16T20:42:37.927 に答える
1

私は時々同じ行動をしました。最後に、"stsadm - o addsolution" を実行し、Web パーツのすべての xml ファイルを Web パーツ ギャラリーに追加する cmd-tool を作成しました。

ソースがあります(少し編集されています):

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 );
        }
    }
}
于 2008-10-16T13:16:27.670 に答える
0

Target.NETFrameworkが私にとっての問題でした。.NET 3.5をターゲットにしましたが、うまくいきませんでした。そこで、代わりに.NET 3.0をターゲットにしましたが、それはうまくいきました。

于 2009-06-03T07:15:44.850 に答える