Se provate a creare un nuovo progetto con la versione 4 del .NET Framework come Target Platform e inserite la libreria Microsoft.SharePoint.dll tra le referenze del vostro progetto, vi accorgerete che tale libreria non può essere utilizzata con altre versioni del Framework se non con la versione 3.5 !
Infatti, usando una delle classi del modello ad oggetti lato server di SharePoint 2010, troverete questo errore:
System.PlatformNotSupportedException
Microsoft SharePoint is not supported with version 4.0.30319.1 of the Microsoft .Net Runtime.
Microsoft SharePoint is not supported with version 4.0.30319.1 of the Microsoft .Net Runtime.
![Microsoft SharePoint is not supported with version 4.0.30319.1 of the Microsoft .Net Runtime](https://www.peppedotnet.it/content/images/2010/SharePointDLLOnlyOn35.png)
In altri casi, vi può succedere che subito dopo aver inserito la referenza alla dll di SharePoint tutto funzioni correttamente, intellisense e tutto il resto. Ma, alla prima compilazione, troverete tra le eccezioni scatenate la seguente:
The type or namespace name 'SharePoint' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)
Questo purtroppo è così e basta ! Microsoft direbbe "è così by desgin". Quindi non possiamo farci niente.
Se vogliamo leggere o modificare dati presenti in SharePoint da un'applicazione scritta utilizzando il .NET Framework 4.0 dobbiamo usare i webservices esposti.