VSeWSS “un elemento con la misma clave ya ha sido añadida”
-
12-09-2019 - |
Pregunta
Durante la fase de paquete de un despliegue VSeWSS, se produce una excepción. A partir de los registros:
2009/11/02 11:59:46 Error System.ArgumentException: un elemento con la misma clave ya se ha agregado.
a System.ThrowHelper.ThrowArgumentException (ExceptionResource de recursos) a System.Collections.Generic.Dictionary2.Insert(TKey key, TValue value, Boolean add) at System.Collections.Generic.Dictionary
2.Add (TKey clave, valor TValue) a Microsoft.SharePoint.Tools.SharePointProxies.WSPViewFacade.CreateWebPartReferenceResolverClassMap (String [] caminos) a VSeWSS.Server.Services.SPService.CreateWebPartReferenceResolverClassMap (String [] caminos)
¿Alguien ha visto esto antes? He comprobado todos mis archivos feature.xml y mi solution.xml para ver si se han duplicado los identificadores, y ellos no lo son. También he comprobado los nombres de los accidentes, y que tampoco se han duplicado. ¿Alguna pista?
Solución 5
Finalmente terminé reconstituir completamente el proyecto, y todo está bien otra vez. Normalmente me gustaría presentar algo como esto para MS Connect, pero no hay manera de que van a solucionar este problema. VSeWSS como un plugin VS2008 es un producto completamente muerto.
Sólo tendremos que luchar a lo largo hasta llegar VS2010, momento en el que pueda empezar la presentación de conectar los insectos.
Otros consejos
Es probablemente un error en VSeWSS. El problema es que recuerda que la última vez que se agrega el mismo artículo.
Probar:
- Solución limpia
- Cierre y vuelva a abrir Visual Studio
Editar: un par de cosas más para tratar
- Eliminar código desplegado manualmente desde Sharepoint
- ¿Tiene la última versión de la herramienta VSeWSS?
- ¿Tiene referencias entre proyectos WebPart?
- ¿Alguno de los archivos en el directorio de paquete de sólo lectura
Yo también tuve este problema.
Se redujo al hecho de que yo había conectado localmente otro DLL, que estaba entonces de referencia. Esto ya había sido desplegado en un proyecto anterior.
Cuando Excluí la DLL de la solución, la parte web desplegada
Compruebe el archivo de manifest.xml para cada proyecto que está fallando -. Eliminar las referencias duplicadas de montaje para resolver este problema
Podría tratar .NET Reflector en el VSeWSS DLL y comprobar el código real que se beging ejecutado por el método CreateWebPartReferenceResolverClassMap en la clase Microsoft.SharePoint.Tools.SharePointProxies.WSPViewFacade? Esto podría proporcionar información a profundidad sobre dónde buscar en su propia solución.