SharePoint 2010 - Modelo de Objeto do Cliente - Adicionar anexo ao ListItem

Eu tenho uma lista do SharePoint na qual estou adicionando novos ListItems usando o modelo de objeto do cliente. Adicionar ListItems não é um problema e funciona muito bem.

Agora eu quero adicionar anexos.

Estou usando o SaveBinaryDirect da seguinte maneira:

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

Ele funciona sem nenhum problema, desde que o item ao qual estou tentando adicionar o anexo já possua um anexo que foi adicionado através do site do SharePoint e não use o Modelo de Objeto do Cliente.

Quando tento adicionar um anexo a um item que ainda não possui anexos, recebo os seguintes erros (ambos ocorrem, mas não com os mesmos arquivos - mas essas duas mensagens aparecem de forma consistente):

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

Achei que talvez fosse necessário primeiro criar a pasta de anexo para este item. Quando tento o seguinte 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();

Eu recebo uma mensagem de erro dizendo:

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

Eu tenho direitos totais de administrador para o site / lista do SharePoint.

Alguma idéia do que eu poderia estar fazendo de errado?

Obrigado, Thorben

questionAnswers(6)

yourAnswerToTheQuestion