SharePoint proje sistem türleri ve diğer Visual Studio proje türleri arasında dönüştürme
Bazı durumlarda, bir nesneyi SharePoint proje sisteminde olabilir ve Visual Studio Otomasyon nesne modeli veya nesne modeli tümleştirmesi, karşılık gelen bir nesne özelliklerini kullanmak istiyorsanız ya da tam tersi.Bu gibi durumlarda kullanabileceğiniz Convert<TInput, TOutput> SharePoint proje hizmeti farklı nesne modeli için nesneyi dönüştürmek için yöntem.
Örneğin, sizde bir ISharePointProject nesnesi, ancak yalnızca kullanılabilir yöntemleri kullanmak istediğiniz bir EnvDTE.Project veya Microsoft.VisualStudio.Shell.Interop.IVsProject nesne.Bu durumda, kullanabileceğiniz Convert<TInput, TOutput> dönüştürmek için yöntem ISharePointProject için bir EnvDTE.Project veya Microsoft.VisualStudio.Shell.Interop.IVsProject.
Otomasyon nesne modeli Visual Studio ve Visual Studio Integration nesne modeli hakkında daha fazla bilgi için bkz: Programlama modeli SharePoint Araçlar Uzantıları'na genel bakış.
Tür dönüştürmeleri
Aşağıdaki tabloda, bu yöntem SharePoint proje sistemi ve Visual Studio nesne modelleri arasında dönüştürebilirsiniz türlerini listeler.
SharePoint proje sistem türü |
Otomasyon ve Tümleştirme nesne modelleriyle ilgili türleri |
---|---|
or Proje için temel alınan com nesnesi tarafından uygulanan Visual Studio Integration nesne modelinde herhangi bir arabirim.Bu arabirimler dahil Microsoft.VisualStudio.Shell.Interop.IVsHierarchy, Microsoft.VisualStudio.Shell.Interop.IVsProject (veya türetilmiş bir arabirim), ve Microsoft.VisualStudio.Shell.Interop.IVsBuildPropertyStorage.Proje tarafından uygulanan ana arabirimleri listesi için bkz: Proje modeli çekirdek bileşenleri. |
|
or A UInt32 değeri (olarak da bilinir bir VSITEMID) proje üyesi olarak tanımlayan Microsoft.VisualStudio.Shell.Interop.IVsHierarchy , içerir.Bu değer için geçirilen itemid parametresi bazı Microsoft.VisualStudio.Shell.Interop.IVsHierarchy yöntemleri. |
Örnek
Aşağıdaki kod örneği nasıl kullanılacağını göstermektedir Convert<TInput, TOutput> dönüştürmek için yöntem bir ISharePointProject itiraz bir 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");
}
}
Bu örnek aşağıdakileri gerektirir:
EnvDTE.dll derleme başvurusu olan SharePoint proje sistemi bir uzantısıdır.Daha fazla bilgi için bkz. SharePoint proje sistem genişletme.
Kayıtları kod projectService_ProjectAdded yöntemi işlemek için ProjectAdded olayının bir ISharePointProjectService nesne.Bir örnek için bkz. Nasıl yapılır: SharePoint proje uzantısı oluşturma.
Ayrıca bkz.
Kavramlar
SharePoint proje hizmeti kullanma
Nasıl yapılır: SharePoint proje hizmet almak
Programlama modeli SharePoint Araçlar Uzantıları'na genel bakış