En ce moment je fait du Silverlight pour Sharepoint 2010. Ce qui est très vite ennuyeux et rébarbatif c’est de systématiquement uploader le xap généré dans une bibliothèque de document de mon SharePoint. Alors tant qu’à y être (dans le modele objet de SharePoint 2010) je me suis fait une petite application console qui va prendre en charge l’upload. Au final j’utilise cette application en tant que commande POSTBuild dans mon VisualStudio. L’outil est téléchargeable ici.
Voilà le code que j'ai utilisé pour faire l’upload à proprement dit. Le reste n’est que décoration, récupération des paramètres, gestion des erreurs…:
ClientContext clientContext =
new ClientContext("http://intranet.contoso.com");
using (FileStream fileStream =
new FileStream("NewDocument.docx", FileMode.Open))
ClientOM.File.SaveBinaryDirect(clientContext,
"/Shared Documents/NewDocument.docx", fileStream, true);
Une fois mon application prête à recevoir les paramètres je l’utilise avec la ligne de commande suivante pour ma POSTBuild Action : "C:\lionel\SP2010Uploader\SP2010Uploader\bin\Release\SP2010Uploader.exe" http://SP2010-1 "$(TargetDir)$(TargetName).xap" SilverlightControls.
Cette commande upload donc le xap généré dans la librairie "SilverlightControls" de mon site sharepoint http://SP2010-1 !