Pergunta

Eu só escreveu uma nova parte web e agora eu estou recebendo este erro quando eu tento implantá-los em meus servidores não-dev:

o namespace padrão ' http://schemas.microsoft.com/WebPart/v2 ' é um espaço de nomes reservado para Web de base propertiees Part. Parte da Web personalizada propriedades requerem um namespace exclusivo (Especificado por meio de um XmlElementAttribute na propriedade, ou um XmlRootAttribute na classe).

Estou escrevendo as partes da Web em arquivos CAB e implantá-los com este:

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

Tudo funciona bem até eu tentar adicionar a parte web, então eu recebo este erro em um pop-up. Ele funciona muito bem no meu dev VM ...?

Todas as idéias serão apreciar, obrigado.

Foi útil?

Solução

Bem, parece que o seu webpart si arquivo de definição de alguma forma quebrado. O wey i fazê-lo é colocar webpart na página e, em seguida, exportá-lo. Você pode fazer isso apenas por abertura galery webpart, que podem ser localizados em configurações do site do conjunto de sites raiz e adicionar seu webpart lá.

Depois que o lugar webpart apenas para qualquer botão de exportação de página e uso em configurações de WebPart. Isto irá produzir .webpart ou arquivo .dwp dependendo do seu webpart (.webpart é a definição 'novo' que é usado por webparts nativas para MOSS 2007 e .dwp é para webparts mais velhos, mas tudo depende de como você escreveu sua webpart)

Em seguida, basta levar arquivo exportado e incluí-lo em seu projeto. Essa abordagem funciona para mim pelo menos.

Outras dicas

Você empacotar sua parte web como um arquivo .webpart? Se este for o caso, você tem que usar o novo namespace v3. Para utilizar o v2, você tem que empacotá-lo como um arquivo .dwp.

Sim, o seu arquivo de definição de parte da web (* .dwp ou .webpart *) provavelmente não é correta. Postá-lo aqui, e ele deve ser rápida para encontrar o erro.

Um pouco de um palpite aqui, mas mesmo assim: -

Primeiro, verifique se você tem atributo XmlRoot como este em sua parte da web

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

e atributo XmlElement em suas propriedades personalizadas

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

Este erro está acontecendo quando .NET está tentando desterilize os dados do arquivo .dwp e definir as propriedades personalizadas em sua parte web.

Eu suspeito que o erro pode não ter nada a ver com conflitos de nomes como SharePoint, por vezes, tende a cair de volta para um mensagens de erro que podem ser um arenque vermelho.

Gostaria em primeiro lugar examinar o arquivo .dwp. Você tem propriedades personalizadas definido lá, se assim removê-los e reteste.

Comentar as propriedades personalizadas em seu web um código da peça por um e reteste em cada etapa.

Eu acho que você vai encontrar um deles está causando o problema - exatamente por isso que é a próxima pergunta !

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