SPFolder.Files.Add создает файл, но возвращает ноль - PullRequest
1 голос
/ 16 декабря 2010

Я загружаю файлы в библиотеку документов в SharePoint 2010, используя метод Add объекта SPFolder.Files (http://msdn.microsoft.com/en-us/library/ms472956.aspx). Это работало нормально, пока кто-то не сделал шаблон из существующей библиотеки (где это все еще работает ) и создал новую библиотеку из шаблона.

В этой новой библиотеке вызов Add все еще завершается без исключения, но возвращает объект SPFile со свойством Items == null.

В пользовательском интерфейсе SharePoint файл не отображается в библиотеке, но когда я подключаюсь к библиотеке через Microsoft Explorer, он появляется.

У меня сложилось впечатление, что файл создан, но элемент не создан. Кто-нибудь знает эту проблему? Есть ли решения?

Ответы [ 2 ]

3 голосов
/ 16 декабря 2010

Хорошо, я нашел проблему и решение (более или менее):

Это происходит только в том случае, если управление версиями было активировано в библиотеке, из которой был создан шаблон.Это происходит в библиотеках, созданных из этого шаблона.

Чтобы решить эту проблему, Мне пришлось деактивировать управление версиями в новой библиотеке и снова активировать ее .После этого все отсутствующие файлы появились, и метод Add снова работает нормально.

Кто-нибудь знает, является ли это известной ошибкой в ​​2010 году и есть ли исправление?

РЕДАКТИРОВАТЬ: Ответьте да, это была известная ошибка, и она была исправлена ​​в накопительном обновлении в декабре 2010 года (я перепроверил с cu feb 2011 и больше не мог его воспроизвести).

0 голосов
/ 17 декабря 2010

Возможно, вам нужно проверить и опубликовать файл после вызова Add, если включено управление версиями. (SPFile.CheckIn)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...