SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm about to start development of client-side application (C# using .NET 4.0) that connects to SharePoint. Mainly to download/upload documents.

I've found out that there are several options:

  1. using Microsoft.Sharepoint.dll (sdk ?)
  2. using Microsoft SharePoint Web Services
  3. Using CSOM
  4. ..?

1) I guess that the first option requires me to run code at the server, so for a client-side application this cannot be used.

2) Can I use the SP Web Services for both SP2010 and SP2013 or do you need to use a different library/sdk?/... for each version of SharePoint that you want to target?

3) If I want to target both SP2010 and SP2013, can I just use this COM from SP2010 to also access SP2010: or do you need to create an application for SP2010 using a specific COM library and another CSOM library for SP2013 ?

What are the advantages of using CSOM over Web Services ? What are the limitations/differences between both? For a client-side application that just needs to connect to a SharePoint server, what would be preferred ?

Thanks in advance for your advice.

share|improve this question
Check out this tool for CSOM – Agamand The True Apr 19 '13 at 9:13
jquery+that tool is for webdev. I'm doing a C# desktop application not webdev/ – juFo Apr 19 '13 at 9:37
You know client-side means HTML, Javascript, CSS, right? – Kieren Johnstone Apr 19 '13 at 12:34
No it doesn't. You can build rich client apps that use C# and XAML or ::bleh:: WinForms. Client simply means not executed on the server, it does not mean you need to use web development technologies at all. – Robert Kaucher Apr 19 '13 at 13:06
up vote 2 down vote accepted

it all depends on your skills, if you are a good c# developer, but not javascript developer, I would do it with the client api

this api is usually in Microsoft.Sharepoint.Client.dll starter link:

if you are good with javascript, CSOM its a good option as well.

The difference between them its that the sharepoint.client.dll has more feature than csom or webservices, depending exactly on what you want to do, you might not find a method in csom or in the webservice, but surely it will be on the client dll.

Both dlls are different for sp2010 and sp 2013, probably most methods will be the same, but the assembly version you have to reference is still different.

share|improve this answer
thanks for that link – juFo Apr 20 '13 at 10:25

You can connect a document library via WEBDAV for uploading and downloading files, just use the URL of the library.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.