El escenario es una tarea sencilla que en algunos casos se puede tornar tediosa y es cuando necesitamos borrar un sitio que tiene sub sitios la interfaz de SharePoint nos muestra un mensaje como este: Error deleting Web site ["/RecursosHumanos"]. You can’t delete a site that has subsites.
Dependiendo la cantidad de sub sitios y que tan anidados estén podemos decidir ir por la interfaz borrando uno a uno o usar un poco de código. Si decides ir por el lado del código aquí están los pasos:
Creamos un proyecto de consola y le agregamos la referencia a Microsoft.SharePoint:
Lo podemos encontrar en: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI\Microsoft.SharePoint.dll
En las propidades del proyecto nos aseguramos que el framework usado sea el 3.5
Y que la plataforma destino sea x64
Ya con eso tendremos configurado el proyecto y solo nos queda este pequeño código:
El código se describe solo, una llamadita recursiva al método DeleteWeb resuelve todo 😉
¡Les dejo el proyecto para descarga por si no hay tiempo para hacerlo paso a paso!
http://dl.dropbox.com/u/26490398/c/nplanchart.wordpress.com_DeleteSiteWithSubSite.zip