Espacio de nombres Microsoft.ProjectServer.Client
Las clases de este espacio de nombres definición el modelo de objetos de cliente (CSOM) para Microsoft Project Server 2013.
El CSOM es accesible desde ambos Project Online y desde una instalación de Project Server local, mediante el espacio de nombres Microsoft.Project.Server.Client . El CSOM de servidor del proyecto está diseñada para ser de una API relativamente fáciles de usar que consume directamente o se proporciona los datos por su nombre, en lugar de pasando conjuntos de datos o mediante el uso de parámetros de changeXml . El CSOM implementa la funcionalidad principal de Project Server Interface (PSI) para las entidades principales como Project, Task, EnterpriseResourcey Assignment. Incluye las entidades adicionales como CustomField, LookupTable, WorkflowActivities, EventHandlery QueueJob, que admiten otra funcionalidad común de Project Server.
El CSOM es una API que se crea a partir de la PSI; No se reemplace la PSI o implementar toda la funcionalidad de la PSI. El CSOM se puede tener acceso a de las siguientes maneras:
Como un ensamblado para usar con Microsoft .NET Framework 4.0: %ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\15\ISAPI\Microsoft.ProjectServer.Client.dll
El espacio de nombres de Microsoft.ProjectServer.Client en la biblioteca de clases y la sección de referencia de servicio Web de la Project 2013 SDK el código administrado para el desarrollo general de los documentos.NET CSOM aplicaciones.
Como un ensamblado que se usará para el desarrollo con Silverlight: %ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\15\TEMPLATE\LAYOUTS\ClientBin\Microsoft.ProjectServer.Client.Silverlight.dll
Como un ensamblado que se usará para el desarrollo de aplicaciones para Microsoft Windows Phone 8: %ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\15\TEMPLATE\LAYOUTS\ClientBin\Microsoft.ProjectServer.Client.Phone.dll
Como un archivo que se va a usar para el desarrollo de aplicaciones web con JavaScript: %ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\15\TEMPLATE\LAYOUTS\PS.js o PS.debug.js
Para obtener la referencia de JavaScript a la CSOM, vea JavaScript API reference for Project Server 2013.
Una aplicación web también puede obtener acceso el CSOM a través de REST. Por ejemplo, puede usar la siguiente consulta para obtener los datos para todos los proyectos en una instancia de Project Web App :
https://ServerName/ProjectServerName/_api/ProjectServer/Projects
Para obtener más información, vea Client-side object model (CSOM) for Project Server y programación utilizando el servicio de REST de SharePoint 2013.
La descarga SDK de Project 2013 incluye también los ensamblados y archivos de JavaScript para el CSOM de servidor de Project. Si actualiza una versión de Project Server con un service pack, debe copiar los ensamblados actualizados y archivos de JavaScript en el equipo de desarrollo.
Las entidades principales de Project Server son generalmente representadas en el CSOM por seis clases, por ejemplo:
La clase base, como Assignment, contiene las propiedades comunes de la entidad de borrador y de la entidad publicada.
La clase de información de la creación, como AssignmentCreationInformation, contiene las propiedades que se usan para crear una entidad.
La clase de proyecto, tales como DraftAssignment, incluye las propiedades de lectura y escritura que representan la entidad para su edición.
La clase publicada, como PublishedAssignment, incluye las propiedades de solo lectura que representan la entidad publicada.
La clase de colección de borrador, como DraftAssignmentCollection, incluye el método Add para agregar una entidad de dibujo a la colección, el método GetById para obtener una entidad específica para su edición y el método Remove para eliminar una entidad.
La clase de la colección publicado, como PublishedAssignmentCollection, generalmente incluye el método GetById para obtener una entidad específica para lectura o para la desprotección de editar.
La clase ProjectContext y la clase ProjectServer cada mantienen el contexto de cliente para el desarrollo de aplicaciones y contienen las colecciones de entidad que son accesibles globalmente en una instancia de Project Web App , tales como Projects, EnterpriseResources, EnterpriseProjectTypes, CustomFields, LookupTablesy Events. Debido a que la clase ProjectServer está prevista para uso interno de los objetos de cliente, aplicaciones deben utilizar la clase de ProjectContext , que se inicialice con la ruta de acceso de Project Web App .
Para obtener un ejemplo sencillo de programación con el CSOM, vea el ejemplo de la sección posterior en esta página. Para obtener más información acerca del desarrollo con la CSOM, vea Client-side object model (CSOM) for Project Server. La referencia de código administrado en el Project 2013 SDK proporciona descripciones básicas y comentarios de las propiedades de entidades, que también se describen en las clases para los espacios de nombres de la PSI. Para obtener información detallada acerca de las propiedades de las entidades, vea la referencia de los campos disponibles.
El CSOM para Project Server 2013 se basa en la CSOM para SharePoint Foundation 2013. Para obtener más información, vea Choose derecho API establecido en SharePoint 2013.
Clases
Enumeraciones
Enumeración | Descripción | |
---|---|---|
AccrueAt | El modo de acumulación de costo especifica cómo y cuándo los costos de recursos se cargará en el costo de una tarea. | |
BookingType | Especifica cómo están reservados para las asignaciones de recursos. | |
CalendarRecurrenceDays | Representa los días de la semana para las excepciones de calendario periódico. | |
CalendarRecurrenceType | Especifica los tipos de periodicidad para una excepción de calendario. | |
CalendarRecurrenceWeek | Especifica una semana de un mes en el que se utiliza para configurar una programación. | |
CommittedDecisionResult | Especifica si un elemento está incluido en una función de optimizer o planificador para el análisis de la cartera de proyectos. | |
ConstraintType | Especifica el tipo de delimitación para una tarea. | |
CurrencySymbolPosition | Especifica la posición del símbolo de moneda. | |
CustomFieldRollupType | Especifica el tipo de resumen acumulados para un campo personalizado. | |
CustomFieldType | Especifica el tipo de un campo personalizado de empresa. | |
DependencyType | Especifica el tipo de dependencia para establecer entre dos tareas. | |
EnterpriseResourceType | Representa los distintos tipos de recursos de empresa. | |
FixedCostAccrual | Especifica cómo y cuándo los costos fijos se cargará en el costo de una tarea. | |
JobState | El estado del trabajo de cola de Project Server especifica el estado de un trabajo de la cola. | |
LookupTableConstants | Especifica los valores máximos y los valores mínimos de las entidades de tabla de búsqueda. | |
LookupTableMaskSequence | Especifica la secuencia de la máscara, que es el tipo de datos de una tabla de búsqueda. | |
LookupTableSortOrder | Especifica el orden de una tabla de búsqueda. | |
OvertimeRateFormat | Especifica la unidad de tiempo de la tasa de horas extra del recurso; es decir, la tasa por unidad de tiempo, como dólares por hora. | |
ProjectDetailPageType | Especifica el tipo de página de detalles del proyecto (PDP). | |
ProjectType | Especifica el tipo de proyecto. | |
QueueMsgType | Especifica el tipo de mensaje de la cola, para enviar un trabajo con el sistema de cola de Project Server. | |
ReadyToLeaveProjectStageValue | Especifica los requisitos de la fase de proyecto en un flujo de trabajo de Project Server para ayudar a determinar si el flujo de trabajo está listo para abandonar el escenario. | |
ResourceType | Especifica los tipos de recursos. | |
StandardRateFormat | Especifica la unidad de tiempo de la tasa de recurso; es decir, la tasa por unidad de tiempo, como dólares por hora. | |
StrategicImpactBehavior | Especifica el impacto estratégico de cómo se comportan los valores en una etapa de flujo de trabajo de Project Server. | |
TaskType | Especifica si el tipo de tarea en un proyecto es fijo unidades, de trabajo fijo o duración fija. | |
TimeScale | Especifica la escala de los datos de fase temporal. | |
TimeSheetEntryMode | Contiene los modos de entrada de parte de horas. | |
TimeSheetLineClass | Representa las clasificaciones que definen los distintos usos de una línea del parte de horas. | |
TimeSheetLineStatus | Representa la configuración de estado que se pueden aplicar a una línea de parte de horas. | |
TimeSheetStatus | Representa la configuración de estado que se pueden aplicar a un parte de horas. | |
TimeSheetValidationType | Especifica el conjunto de tipos de validación para las líneas del parte de horas. | |
TrackingMode | Especifica los modos para hacer un seguimiento del progreso de la tarea. | |
UpdateProjectStageStatusFieldValue | Especifica el estado de la etapa de proyecto en un flujo de trabajo de Project Server. | |
UtilizationType | Especifica el tipo de uso de recursos para el planeamiento de recursos actual. | |
WorkFormat | Contiene un valor que representa un formato de trabajo. |
Ejemplos
Los siguientes son los pasos para crear una aplicación de consola sencilla denominada ReadProjectList que usa las clases del espacio de nombres de Microsoft.ProjectServer.Client para leer la colección de los proyectos publicados.
Si está desarrollando en un equipo remoto, copie los siguientes ensamblados desde la descarga SDK de Project 2013 o desde %ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\15\ISAPI en el equipo de Project Server en una carpeta conveniente en el equipo de desarrollo:
Microsoft.ProjectServer.Client.dll
Microsoft.SharePoint.Client.dll
Microsoft.SharePoint.Client.Runtime.dll
En Visual Studio 2012, cree una aplicación de consola. En este ejemplo, asigne el nombre de la aplicación ReadProjectList. En el cuadro de diálogo Nuevo proyecto , establezca el marco de destino a .NET Framework 4.5. También puede usar Visual Studio 2010 con .NET Framework 4 (hacer uso noPerfil del cliente de .NET Framework 4).
Establecer referencias a los ensamblados que se especifican en el paso 1.
Reemplace el código en el archivo Program.cs con el siguiente código.
Nota
Debe establecer el contexto CSOM mediante el objeto ProjectContext , no mediante el objeto ProjectServer .
Presione F5 para ejecutar la aplicación.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.ProjectServer.Client;
namespace ReadProjectList
{
class Program
{
private const string pwaPath = "https://ServerName/PwaName/"; // Change the path for Project Web App.
// Set the context for the Project Server CSOM.
private static ProjectContext projContext;
static void Main(string[] args)
{
projContext = new ProjectContext(pwaPath);
// Get the list of published projects in Project Web App.
projContext.Load(projContext.Projects);
projContext.ExecuteQuery();
Console.WriteLine("\nProject ID : Project name : Created date");
foreach (PublishedProject pubProj in projContext.Projects)
{
Console.WriteLine("\n\t{0}\n\t{1} : {2}", pubProj.Id.ToString(), pubProj.Name,
pubProj.CreatedDate.ToString());
}
Console.Write("\nPress any key to exit: ");
Console.ReadKey(false);
}
}
}