27 февр. 2012 г.

Сообщения об ошибках

Сообщения об ошибках в SharePoint иногда напоминают вердикты дельфийской пифии: то есть хрен поймёшь, что имелось в виду. Вот почему, например, такой вызов
SPList.GetItemById(-1)
бросает исключение с таким сообщением:
One or more field types are not installed properly. Go to the list settings page to delete these fields.

Где, казалось бы, связь? Но, как и в случае со словами оракула, смысл этого сообщения становится ясен не сразу, в данном случае - после изучения метода GetItemById в декомпиляторе. Оказывается, если переданный идентификатор элемента меньше нуля, то в формируемый CAML-запрос вставляется не поле ID, а поле BdcIdentity, которого в списке нет.

3 комментария:

  1. хочу кнопку RSS постов этого блога

    ОтветитьУдалить
    Ответы
    1. Добавил кнопки для подписки, внизу справа.

      Удалить
  2. Спасибо, подписался.
    Напрягает вводить капчу. Я ж авторизован.

    ОтветитьУдалить