Compartir a través de


Configuración de complementos hospedados por el proveedor de SharePoint para la distribución

En esta página se explican los problemas que pueden surgir al compartir un complemento hospedado por el proveedor de SharePoint con otros desarrolladores o al obtener una copia de un sistema de control de código fuente, como Team Foundation Server, Git o Visual Studio Team Services.

Todos los complementos hospedados por el proveedor de SharePoint creados mediante Visual Studio incluyen un paquete NuGet que agrega código específico de SharePoint y referencias a la aplicación web que actúa como RemoteWeb para el complemento de SharePoint.

El paquete NuGet agregado al proyecto de aplicación web por Office Developer Tools en Visual Studio no está presente en el registro de paquetes NuGet y, por lo tanto, intenta realizar un error de restauración de paquetes NuGet porque no encuentra un paquete coincidente.

Comprender el problema

Office Developer Tools para Visual Studio, versión 12.0.31105, agrega un paquete NuGet a las aplicaciones web creadas como complementos hospedados por el proveedor RemoteWeb para SharePoint. Este paquete, App for SharePoint Web Toolkit, agrega los siguientes elementos al proyecto web:

  • Ensamblados y referencias a los ensamblados del modelo de objetos del lado cliente (CSOM) de SharePoint.
  • El archivo de código TokenHelper.cs que ayuda en el proceso de autenticación de los complementos.
  • El archivo de código SharePointContext.cs que ayuda a crear y mantener un contexto de SharePoint dentro de la aplicación web.

La forma en que funciona Visual Studio es que normalmente, o los complementos, contienen una copia local del paquete NuGet para que los desarrolladores no siempre tengan que estar conectados a Internet para descargar los paquetes NuGet. El paquete que incluyen las herramientas tiene un identificador de AppForSharePoint16WebToolkit.

Cuando los proyectos se confirman en el control de código fuente, normalmente los paquetes no se incluyen como parte de la confirmación porque pueden agregar una gran cantidad de demandas de espacio de almacenamiento adicional y aumentar innecesariamente el tamaño de un paquete al compartirlo con otros desarrolladores. Por lo tanto, una de las primeras tareas que realizan los desarrolladores después de obtener una copia del proyecto del control de código fuente es ejecutar la restauración de paquetes NuGet.

El desafío es que un paquete con el mismo identificador no existe en el registro de paquetes NuGet; no hay ningún paquete con un identificador de AppForSharePoint16WebToolkit. En su lugar, se agregó exactamente el mismo paquete al registro de paquetes NuGet que AppForSharePointWebToolkit (tenga en cuenta la falta de 16 en el identificador).

Preparación de un proyecto de complemento hospedado por el proveedor para el control de código fuente y la distribución

Hasta que office Developer Tools para Visual Studio se actualice para corregir este problema, se recomienda modificar el proyecto antes de confirmarlo en el sistema de control de código fuente, independientemente de si usa Team Foundation Server, Visual Studio Team Services, Git o cualquier otra solución.

Después de crear el proyecto, busque en el archivo packages.config del proyecto y busque un paquete con un identificador de AppForSharePoint16WebToolkit. La manera más segura de actualizar el proyecto es desinstalar y volver a instalar el paquete.

Abra la consola del Administrador de paquetes en Visual Studio y escriba lo siguiente para desinstalar el paquete:

  PM> Uninstall-Package -Id AppForSharePoint16WebToolkit

Nota:

Si la desinstalación produce un error al no encontrar el paquete, basta con quitar manualmente la referencia del paquete del archivo packages.config y guardar los cambios.

Ahora, instale la versión pública del mismo paquete NuGet desde el registro público:

  PM> Install-Package -Id AppForSharePointWebToolkit

Vea también