Compartir a través de


Configuración de proyectos de API de Office 365 para distribución

En esta página se explican algunos pasos que los desarrolladores deben considerar para tomar sus proyectos que aprovechan las API de Office 365 antes de distribuirlas a otros desarrolladores, sus clientes o a sistemas de control de código fuente como Team Foundation Server, Git o Visual Studio Team Services.

En concreto, en esta página se examinan dos pasos:

  • Corrección de la referencia del paquete NuGet del cliente de Graph de Azure AD
  • Limpiar el archivo web.config para obtener detalles específicos de la aplicación

Corrección de la referencia del paquete NuGet del cliente de Graph de Azure AD

Todos los proyectos que aprovechan los SDK de API de Office 365 mediante la adición de un servicio conectado incluyen un paquete NuGet que agrega Office 365 y referencias de Azure Active Directory (Azure AD) al proyecto creado en Visual Studio.

El paquete NuGet agregado al proyecto por las herramientas de API de Office 365 en Visual Studio no está presente en el registro de paquetes NuGet y, por lo tanto, se produce un error al intentar realizar una restauración de paquetes NuGet porque no encuentra un paquete coincidente.

Descripción del problema

El Office 365 API Tools para Visual Studio, versión 1.3.41104.1, agrega varios paquetes NuGet a los proyectos como parte de la finalización del Asistente para agregar servicios conectados. Un paquete en particular presenta un desafío: la biblioteca cliente de Microsoft Azure Active Directory Graph.

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 Microsoft.Azure.ActiveDirectory.GraphClient y una versión de 1.0.22.

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 y versión no existe en el registro de paquetes NuGet; no hay ningún paquete con un identificador de Microsoft.Azure.ActiveDirectory.GraphClient y una versión de 1.0.22. El paquete existe en el registro de paquetes NuGet, Microsoft.Azure.ActiveDirectory.GraphClient, pero en versiones diferentes.

Corrección de la referencia del paquete NuGet del cliente de Graph de Azure AD

Hasta que se actualicen las herramientas de API de Office 365 para Visual Studio para solucionar 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 Microsoft.Azure.ActiveDirectory.GraphClient y una versión de 1.0.22. 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 Microsoft.Azure.ActiveDirectory.GraphClient

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 Microsoft.Azure.ActiveDirectory.GraphClient -Version 2.0.2

Nota:

En el ejemplo anterior se hace referencia a una versión específica del cliente de Graph de Azure AD que se sabe que funciona con las API de Office 365. Las versiones futuras pueden funcionar, por lo que la omisión del -Version argumento es opcional.

Limpiar el archivo web.config para obtener detalles específicos de la aplicación

Las herramientas de API de Office 365 para Visual Studio agregan la capacidad de crear una nueva aplicación de Azure AD con los permisos necesarios para las API de Office 365 mediante el Asistente para servicios conectados en Visual Studio. Al completar el asistente, se realizan varias entradas y personalizaciones en el archivo web.config del proyecto.

Estas modificaciones incluyen la siguiente configuración de complemento:

  • ida:ClientID: el identificador único de la aplicación creada en el inquilino de Azure AD.
  • ida:Password: clave de la aplicación de Azure AD generada por el Asistente para servicios conectados.
  • ida:AuthorizationUri: el punto de conexión que se usa para autenticarse con Azure AD.

Ida :ClientID e ida:Password son únicos para la aplicación de Azure AD. Algunos equipos de desarrollo pueden elegir que cada desarrollador code en su propia aplicación, de forma similar a cómo trabajan los desarrolladores en su propia base de datos de desarrollo local. Por lo tanto, puede pensar que ida:ClientID e ida:Password son similares a las cadenas de conexión de base de datos.

La próxima vez que un desarrollador use el Asistente para servicios conectados para crear una nueva aplicación de Azure AD del proyecto, el asistente detecta ida :CliendID e intenta conectarse a una aplicación en el inquilino de Azure AD del usuario actual. Si no se encuentra una coincidencia, el Asistente para servicios conectados produce un error.

Por lo tanto, antes de confirmar el proyecto en el control de código fuente o antes de compartirlo con otros desarrolladores, se recomienda quitar los valores de la configuración del complemento ida:ClientID e ida:Password en el archivo web.config.

Vea también