SharePoint and CSOM – Get an application running on SP2007 to access content and managed metadata on SP2013 using CSOM

Please don’t ask why, only know that it had to be done. The requirement was to copy documents in a library in SP2013 to another library in SP2007. This is made easier by using CSOM, but getting the right libraries can be a little tricky. I also needed to access managed metadata values, which SP2007 is like “meta-whata-now?” about.

I found that I needed to use the Microsoft.SharePoint.Client libraries from SP2010, as I was developing on the SP2007 dev box. This is because the 2013 DLLs require .NET 4.0, and 2007 uses 3.5.

So I had to:

  1. Create a new folder on your 2007 server/dev environment in C:\Program Files\Common Files\microsoft shared\Web Server Extensions\. You should already see a folder in there called “12”. Create a new one called “14”.
  2. In “14”, create another folder called “ISAPI”. This mirrors the folder structure of 2010. It’s not strictly necessary but it keeps things organised and clear.
  3. On your 2010 server (you have one, right? If not, you’ll need to find these from somewhere,) copy the client DLLs you’ll need. To do my task, I needed the following:
    1. Microsoft.SharePoint.Client
    2. Microsoft.SharePoint.Client.Runtime
    3. Microsoft.Office.Server
    4. Microsoft.SharePoint.Taxonomy
  4. If you find you need to use other libraries from 2010, add them to this same folder.
  5. In Visual Studio, add references in your project to the DLLs  in the new “14” folder.
  6. For the core Microsoft.SharePoint DLL, reference the DLL in the “12” folder.
  7. Keep to the DLLs in the 12 folder wherever possible.

That was the start of my fun crossing-the-streams adventure. I used the above to create a console app that scans given libraries by name, for tagged documents to “publish”, copying some of their managed metadata. I used a couple of good resources, which I’ll link to in the next post regarding this subject.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s