Se si vogliono fare le cose seriamente con Sharepoint è spesso necessario organizzare il proprio lavoro all'interno di features che saranno poi deployate sui server di produzione attraverso apposite solutions.
Uno scenario abbastanca comune è il seguente: sviluppo con lo sharepoint designer delle site pages che utilizzando delle dataview che leggono dati da un database sql server.
Creata la pagina direttamente sul sito di sviluppo, è poi necessario recuperarla per includerla nella feature. Per questo è sufficiente salvare la pagina in locale e copiarla "as is" nella proprio progetto della feature(non descrivo qui come nella feature devo configurare il provisioning della site page).
Effettuato il deploy sul server di test ed attivata la feature, ecco che andando sulla pagina compare un misterioso errore di compilazione della pagina:
Verificando nell' event viewer scopro che l'errore più precisamente è il seguente:
Cannot convert type 'Microsoft.SharePoint.WebControls.SPSqlDataSource' to 'System.Web.UI.IAttributeAccessor'
Il mistero si infittisce quando scopro che aprendo con lo sharepoint designer la pagina che va in errore e salvandola, il problame di risolve. Questa non è comunque una buona soluzione in quanto dal cliente non posso installare o comunque utilizzare lo sharepoint designer per collegarmi e salvare tutte le pagine deployate.
Alla fine ho scoperto la soluzione al problema: prima di creare la feature è sufficiente modificare la pagina aspx salvata dal sito di sviluppo e andare a togliere l'attributo
__designer:commandsync="true"
dal controllo SqlDataSource utilizzato per collegare la dataview.