SharePoint 2010 - Modelo de objetos de cliente - Agregar datos adjuntos a ListItem

Tengo una lista de SharePoint a la que estoy agregando nuevos ListItems usando el Modelo de objetos del cliente. Agregar ListItems no es un problema y funciona muy bien.

Ahora quiero agregar archivos adjuntos.

Estoy usando SaveBinaryDirect de la siguiente manera:

File.SaveBinaryDirect(clientCtx, url.AbsolutePath + "/Attachments/31/" + fileName, inputStream, true);

Funciona sin ningún problema siempre que el elemento al que estoy tratando de agregar el archivo adjunto ya tenga un archivo adjunto que se agregó a través del sitio de SharePoint y no utiliza el Modelo de objetos del cliente.

Cuando intento agregar un archivo adjunto a un elemento que todavía no tiene ningún archivo adjunto, aparece el siguiente error (ambos ocurren pero no con los mismos archivos, pero esos dos mensajes aparecen de manera consistente):

The remote server returned an error: (409) Conflict
The remote server returned an error: (404) Not Found

Pensé que tal vez necesito crear primero la carpeta de archivos adjuntos para este elemento. Cuando intento el siguiente código:

clientCtx.Load(ticketList.RootFolder.Folders);
clientCtx.ExecuteQuery();
clientCtx.Load(ticketList.RootFolder.Folders[1]);             // 1 -> Attachment folder
clientCtx.Load(ticketList.RootFolder.Folders[1].Folders);
clientCtx.ExecuteQuery();
Folder folder = ticketList.RootFolder.Folders[1].Folders.Add("33");
clientCtx.ExecuteQuery();

Recibo un mensaje de error que dice:

Cannot create folder "Lists/Ticket System/Attachment/33"

Tengo derechos de administrador completos para el sitio / lista de SharePoint.

¿Alguna idea de lo que podría estar haciendo mal?

Gracias Thorben

Respuestas a la pregunta(6)

Su respuesta a la pregunta