VSeWSS “um item com a mesma chave já foi adicionado”
-
12-09-2019 - |
Pergunta
Durante a fase de embalagem de uma implantação VSeWSS, uma exceção é lançada. A partir dos logs:
2009/11/02 11:59:46 Erro System.ArgumentException: Um item com a mesma chave já foi adicionado.
em System.ThrowHelper.ThrowArgumentException (ExceptionResource recurso) no System.Collections.Generic.Dictionary2.Insert(TKey key, TValue value, Boolean add) at System.Collections.Generic.Dictionary
2.Add (TKey chave, valor TValue) em Microsoft.SharePoint.Tools.SharePointProxies.WSPViewFacade.CreateWebPartReferenceResolverClassMap (String [] caminhos) a VSeWSS.Server.Services.SPService.CreateWebPartReferenceResolverClassMap (String [] caminhos)
Alguém viu isso antes? Fui verificar todos os meus arquivos feature.xml e minha solution.xml para ver se algum de id foram duplicados, e eles não são. Eu também verificou os nomes dos recursos, e eles também não foram duplicados. Alguma dica?
Solução 5
Eu finalmente acabou reconstituir completamente o projeto, e está tudo bem novamente. Eu normalmente enviar algo assim para MS Connect, mas não há nenhuma maneira que eles vão corrigir isso. VSeWSS como um plugin VS2008 é um produto completamente morto.
Nós vamos ter que lutar junto até chegarmos VS2010, altura em que eu possa começar a apresentação de erros de conexão.
Outras dicas
É provavelmente um bug no VSeWSS. O problema é que ele se lembra da última vez, acrescentou o mesmo item.
Tente:
- Solução limpa
- Fechar e reabrir Visual Studio
Edit: mais algumas coisas para tentar
- Remover código implementado manualmente a partir do SharePoint
- Você tem a versão mais recente da ferramenta VSeWSS?
- Você tem referências entre projetos WebPart?
- Algum dos arquivos no diretório pkg somente leitura
Eu também tive esse problema.
Ele desceu para o fato de que eu tinha ligado localmente outra DLL, que eu estava, em seguida, fazendo referência. Isso já havia sido implantado em um projeto anterior.
Quando eu excluiu a DLL a partir da solução, o webpart implantado
Verifique se o seu arquivo manifest.xml para cada projeto que está falhando -. Remover referências duplicadas de montagem para resolver este problema
Você poderia tentar .NET Reflector na dll VSeWSS de e verificar o código real que é beging executado pelo método CreateWebPartReferenceResolverClassMap na classe Microsoft.SharePoint.Tools.SharePointProxies.WSPViewFacade? Isso pode lhe fornecer informações mais aprofundada sobre onde procurar na sua própria solução.