Вопрос

Я написал решение, которое использует API 2007 для обхода объектной модели SharePoint. Теперь мне нужно также поддерживать SP 2003. Каков наилучший способ сделать это?

Возможно ли / рекомендуется ли использовать API 2007 для получения доступа к ферме SharePoint 2003?

Если я использую API 2007, нужно ли использовать устаревшие классы для (например) ссылки на базу данных конфигурации или я использую классы 2007, такие как SPFarm?

Или я использую API 2007 для SP 2007 и API 2003 для SP 2003 ...? Проблема в том, что оба используют одни и те же пространства имен и имена классов. Так что это может стать грязным. (За исключением, может быть, если я использую псевдонимы для ссылки на разные пространства имен?)

Это было полезно?

Решение

Насколько я знаю, API 2007 и API 2003 несовместимы. Так да? вам нужно будет реализовать оба.

Я могу предложить иметь интерфейс ISharePointAPI и две реализации SharePoint2007API и SharePoint2003API. Эти реализации могут быть даже упакованы в разные сборки, поэтому у вас не будет ссылочного ада :). Это также защитит вас от изменений API 2010, поскольку для реализации SharePoint2010API вам потребуется ...

Другие советы

Интерфейсы (в основном) совместимы в пространстве имен / класса / члена USAGE, но вы должны использовать правильную версию API для правильной версии SharePoint. Вы также должны учитывать, что в WSS2 / SPS2003 по умолчанию используется .NET1.1.

Мое решение для этого - использовать MSBEE и некоторые MSBUILD. ниндзя пытается выплюнуть две версии из вашего исходного кода.

Первый предназначен для .NET2 и ссылается на Microsoft.SharePoint.dll v12 (WSS3 / MOSS2007), а второй - на .NET1.1 и ссылается на Microsft.Sharepoint.dll v11 (WSS2 / SPS2003).

Его довольно просто настроить, но после этого он работает очень хорошо. Там, где у вас есть различия в коде, вы можете использовать условную компиляцию: -

#if FX1_1
   // WSS2/SPS2003 specific code
#else
   // WSS3/MOSS2007 specific code
#endif

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top