Hola amigos, 
Mi problema es que tengo tres "SiteMapDataSource" y dependiendo del usuario que se loguee en el sistema quiero mostrar en el menu uno u otro.
El codigo que tengo para declarar el "SiteMap" es este:
**********************************************************************************************
<asp:SiteMapDataSource ID="SiteMapDataSource" SiteMapProvider="General" runat="server" />
**********************************************************************************************
Y cuando se carga mi master page ejecuto esta funcion para cambiar el sitemap en funcion del usuario:
**********************************************************************************************
    Private Sub CreateMenu(ByVal sender As Object, ByVal e As System.EventArgs)
        If Not Me.IsPostBack Then
            Select Case Session("Role")
                Case "Local Admin"
                    SiteMapDataSource.SiteMapProvider = "~/Local Admin.sitemap"
                Case "Sys Admin"
                    SiteMapDataSource.SiteMapProvider = "Sys Admin"
                Case Else
                    SiteMapDataSource.SiteMapProvider = "~/General.sitemap"
            End Select
        End If
    End Sub
*****************************************************************************************
Como veis he probado poniendo las rutas completas de los archivos "*.sitemap", pero tampoco funciona.
Ademas, me da un error diciendome: "Reference to a non-shared member requires an object reference."
A ver si alguien sabe comop arreglar esto.
Gracias por adelantado.