Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Puede darse el caso en el que tiene un objeto en el sistema de proyectos de SharePoint y desea utilizar características de un objeto correspondiente del modelo de objetos de automatización o del modelo de objetos de integración de Visual Studio, o viceversa.En estos casos, puede utilizar el método Convert<TInput, TOutput> del servicio de proyecto de SharePoint para convertir el objeto en un modelo de objetos diferente.
Por ejemplo, podría tener un objeto ISharePointProject, pero desea utilizar métodos que solo están disponibles en el objeto Microsoft.VisualStudio.Shell.Interop.IVsProject o EnvDTE.Project.En este caso, puede usar el método Convert<TInput, TOutput> para convertir ISharePointProject en EnvDTE.Project o Microsoft.VisualStudio.Shell.Interop.IVsProject.
Para obtener más información sobre el modelo de objetos de automatización y el modelo de objetos de integración de Visual Studio, vea Información general del modelo de programación de extensiones de SharePoint.
Tipos de conversiones
En la tabla siguiente se enumeran los tipos que este método puede convertir del sistema de proyectos de SharePoint en otros modelos de objetos de Visual Studio.
Tipo de sistema de proyectos de SharePoint |
Tipos correspondientes en los modelos de objetos de integración y automatización |
|---|---|
|
o Cualquier interfaz del modelo de objetos de integración de Visual Studio implementada por el objeto COM subyacente para el proyecto.Estas interfaces incluyen Microsoft.VisualStudio.Shell.Interop.IVsHierarchy, Microsoft.VisualStudio.Shell.Interop.IVsProject (o una interfaz derivada) y Microsoft.VisualStudio.Shell.Interop.IVsBuildPropertyStorage.Para obtener una lista de las interfaces principales implementadas por los proyectos, vea Componentes del modelo de proyecto. |
|
|
o Un valor UInt32 que identifica el miembro de proyecto (también denominado VSITEMID) en el Microsoft.VisualStudio.Shell.Interop.IVsHierarchy que lo contiene.Este valor puede pasarse al parámetro itemid de algunos métodos Microsoft.VisualStudio.Shell.Interop.IVsHierarchy. |
Ejemplo
En el ejemplo de código siguiente se muestra cómo se usa el método Convert<TInput, TOutput> para convertir un objeto ISharePointProject en un objeto EnvDTE.Project.
Private Sub projectService_ProjectAdded(ByVal sender As Object, _
ByVal e As Microsoft.VisualStudio.SharePoint.SharePointProjectEventArgs)
Dim dteProject As EnvDTE.Project = e.Project.ProjectService.Convert( _
Of Microsoft.VisualStudio.SharePoint.ISharePointProject, EnvDTE.Project)(e.Project)
If dteProject IsNot Nothing Then
' Use the Visual Studio automation object model to add a folder to the project.
dteProject.ProjectItems.AddFolder("Data")
End If
End Sub
void projectService_ProjectAdded(object sender, Microsoft.VisualStudio.SharePoint.SharePointProjectEventArgs e)
{
EnvDTE.Project dteProject = e.Project.ProjectService.Convert<
Microsoft.VisualStudio.SharePoint.ISharePointProject, EnvDTE.Project>(e.Project);
if (dteProject != null)
{
// Use the Visual Studio automation object model to add a folder to the project.
dteProject.ProjectItems.AddFolder("Data");
}
}
Para este ejemplo se necesita:
Una extensión del sistema de proyectos de SharePoint que tenga una referencia al ensamblado EnvDTE.dll.Para obtener más información, vea Extender el sistema de proyectos de SharePoint.
Código que registra el método projectService_ProjectAdded para controlar el evento ProjectAdded de un objeto ISharePointProjectService.Para obtener un ejemplo, vea Cómo: Crear una extensión de proyecto de SharePoint.
Vea también
Conceptos
Utilizar el servicio de proyecto de SharePoint
Cómo: Recuperar el servicio de proyecto de SharePoint
Información general del modelo de programación de extensiones de SharePoint