Pergunta

Eu levei um arquivo WSP, e fiz o meu stsadm -o addsolution como de costume. Depois fui para Administração- Central> gerenciamento de soluções e ele mostrou-se muito bem. Então eu implantado a parte web, sem problemas até agora.

O problema é quando vou para adicioná-lo à galeria webpart ( Galeria de Web Parts: New Web Parts ) geralmente a parte web está na lista, verifique que a caixa ao lado e clique galeria de preenchimento , mas é não aparecendo na lista? Eu poderia estar faltando alguma coisa na minha manifest.xml para causar isso? Eu só escreveu e implantado outra parte web esta exata mesma maneira e ele foi muito bem. Além disso, eu escrevi um webpart manequim que não faz nada, mas imprimir "trabalho" e tentou fazê-lo com isso obter os mesmos resultados.

Todas as idéias?

Foi útil?

Solução

wow ... Acontece que tudo o que estava faltando era uma declaração de 'público' na minha classe!?!

Eu me sinto como um idiota. Mas também, eu tinha para excluí-lo manualmente para obtê-lo reconhecido. Obrigado a todos!

Outras dicas

Verifique se o arquivo .webpart implantado para a pasta wpcatalog do seu web site. Dependendo do que diretório foi especificado quando o provisionamento do aplicativo web, você deve encontrá-lo em um local semelhante a esta:

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

Eu tive o mesmo problema com a Parte I Web venho trabalhando, mas no meu caso eu simplesmente se esqueceu de adicionar uma peça Web para "Itens no recurso" caixa. Para fazer isso:

  1. Em Solution Explorer desdobrar o sub do seu recurso.
  2. Clique duas vezes o item terminando com .feature.
  3. Você deverá ver uma nova guia com Característica título, descrição e escopo. Abaixo deles há duas caixas com botões no meio. A partir da caixa da esquerda selecione seu Web Part e pressione o botão > (marcado na imagem) para adicioná-lo ao recurso.

NOTA:. Você também pode fazer isso pressionando o botão Manifest na parte inferior e editar o arquivo de manifesto manualmente, se você sabe o que está fazendo

Adicionando Web Part para Característica

Isso realmente pode ajudar outros iniciantes SharePoint.

Eu tive algum tempo mesmo comportamento. Finalmente, escreveu uma ferramenta cmd, que executar "stsadm - o addsolution". E depois adicionar à galeria de parte da web todos os arquivos XML para partes da web

Há fonte (little-bit editado):

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 );
        }
    }
}

Eu descobri que se eu implantar uma parte da web que foi quebrado anteriormente eu tive que excluir manualmente-lo após a remoção da solução, antes de voltar a adição da solução

alvo .NET Framework foi o problema para mim. I alvo .NET 3.5 e que não funcionou para mim. Então eu alvejado .NET 3.0 em vez disso, e que funcionou bem.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top