2016-09-09 7 views
0

Я пытаюсь получить родительский список файла в Sharepoint онлайн с .NET CSOM в C#. Код ниже отлично работает, когда я тестирую его из автономного приложения C#.Ошибка «Указанный объект не относится к списку» с использованием CSOM

Но когда я вызываю тот же самый метод через com interop в C++, с теми же параметрами, я получаю исключение, «указанный объект не принадлежит списку». Исключение бросается после ExecuteQuery()

Но я ЗНАЮ это, если я вызываю метод с тем же URL-адресом "/ sites/develop_apps/Общие документы/метро/heynow (000640-9-9-2016) 9- 53-31 AM) .PDF "в автономном приложении C#, я не получаю исключения. И «GetFileByServerRelativeUrl», похоже, работает нормально. В любом случае, это не исключение.

Я читал статьи о подобных ошибках, и они, похоже, имеют какое-то отношение к URL-адресу. Но я не могу понять, почему одни и те же параметры работают в одном контексте, но не в другом.

Microsoft.SharePoint.Client.File thisFile =m_clientContext.Web.GetFileByServerRelativeUrl(fileRelativeUrl); 
ListItem item = thisFile.ListItemAllFields; 
m_clientContext.Load(item.ParentList); 
m_clientContext.ExecuteQuery(); 

Показатель ошибки Fiddler.

{ "SchemaVersion": "15.0.0.0", "LibraryVersion": "16.0.5701.1202", "ErrorInfo": { "ErrorMessage": "Объект, заданный не принадлежит к списку",» ErrorValue ": null," TraceCorrelationId ":" c616a29d-90ab-3000-b1de-17538058f3e4 "," ErrorCode ": - 2146232832," ErrorTypeName ":" Microsoft.SharePoint.SPException " }," TraceCorrelationId ":" c616a29d-90ab -3000-b1de-17538058f3e4 "

+0

А вот что-то, что говорит. свойство URL-адреса контекста клиента в моем тестовом приложении показывает : //mysite.sharepoint.com/sites/develop_apps/. Мой производственный тест, который терпит неудачу //mysite.com –

+0

Это похоже на это. Как-то мое производственное приложение не устанавливает правильный URL-адрес при создании объекта контекста клиента. –

ответ

1

Сравнивая поля ClientContext.Url рабочего приложения и неудачный производственный тест, я заметил, что URL-адреса были разными.

У моего теста, который работал, был URL-адрес «https://mysite.sharepoint.com/sites/develop_apps/».

Моего производство тест, который не выполняет свои «https://mysite.sharepoint.com»

и я делаю все мои список манипуляций в библиотеке офф «https://mysite.sharepoint.com/sites/develop_apps/»

Я думаю, делая работу по спискам, вы должны быть более при создании вашего clientContext в отношении URL-адреса.