Pergunta


Eu havia implantado o recurso com web part, assembly versão 1.0.0.0.Então implementei algumas mudanças em minha solução e alterei o número do assembly para 1.0.0.1.A WebPart e a versão do recurso foram alteradas para 1.0.0.2.Depois disso, desinstalei a solução do SharePoint e instalei a nova versão.Agora não consigo visualizar a web part porque o SharePoint está tentando vincular à webpart versão 1.0.0.1 e estou recebendo "Erro desconhecido".
Este é meu arquivo feature.xml:

<?xml version="1.0" encoding="utf-8"?>
<Feature
    Id="E2E13BDD-D78E-4820-97FF-3248188EA22C" xmlns="http://schemas.microsoft.com/sharepoint/"
    Title="CurrentNewsFeature"
    Scope="Site"
    Hidden="False"
    Description="CurrentNewsFeature"
    Version="1.0.0.2">
    <ElementManifests>
        <ElementFile
            Location="CurrentNewsFeatureUserControl.ascx" />
        <ElementFile
            Location="CurrentNewsFeatureWebPart.dwp" />
    </ElementManifests>
</Feature>

e meu CurrentNewsFeatureWebPart.dwp:

<?xml version="1.0" encoding="utf-8"?>
<WebPart xmlns="http://schemas.microsoft.com/WebPart/v2">
  <Assembly>CurrentNewsFeature, Version=1.0.0.2, Culture=neutral, PublicKeyToken=1757a812a567b868</Assembly>
  <TypeName>CurrentNewsFeatureWebPart</TypeName>
  <Title>Sabre News From Blog</Title>
  <Description>WebPart to display general news from a blog.</Description>
</WebPart>


O que há de errado com minha solução?Como reimplantar esta WebPart?
Tenho o SharePoint versão 2007.

Foi útil?

Solução

A versão do recurso e a versão do assembly são duas coisas distintas e não estão relacionadas entre si.Basicamente, parece que você tentou aumentar a versão da montagem e provavelmente o resultado da construção não é esse.

Quanto ao "Erro desconhecido", isso se deve ao fato de que a depuração não está habilitada em seu arquivo web.config para o aplicativo Web (pesquise debug=false e substitua por true e customErrors de On/RemoteOnly para Off, defina também CallStack para VERDADEIRO).

Você precisa ter certeza de que em seu arquivo .dwp você está realmente fazendo referência ao assembly apropriado.Use o Reflector (infelizmente não é mais gratuito) ou por meio de um prompt de comando do VS, o sn.exe (http://msdn.microsoft.com/en-us/library/k5b5tt23(v=vs.80).aspx) para extrair o nome completo do assembly ou vá diretamente para o GAC e siga-o de lá.

Espero ter ajudado, C:\Mário

Outras dicas

Todas as informações nos arquivos .dwp (e .webpart), incluindo a versão do assembly, são apenas um modelo para qual web part e propriedades correspondentes serão carregadas quando você selecionar esta web part na galeria WebPart, o WebPartManager do SharePoint armazenará essas configurações (possivelmente atualizado pelo usuário) no banco de dados de conteúdo.Cada vez que a página da webpart é carregada, as informações serão lidas do banco de dados de conteúdo.

Portanto, se você atualizar a versão Assembly, todas as instâncias existentes adicionadas às páginas tentarão carregar a versão antiga e falharão, a menos que você tenha adicionado bindingRedirects em web.config (consulte Versionamento de Web Part com redirecionamento de assembly) é por isso que a maioria dos desenvolvedores do SharePoint atualiza AssemblyFileVersion em vez de AssemblyVersion

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