Frage

Ich habe eine Lösung codiert, die das 2007-API verwendet das Sharepoint-Objektmodell zu durchqueren. Jetzt muss ich SP 2003 und unterstützen. Was ist der beste Weg, dies zu tun?

Ist es möglich / empfohlen, die 2007 api zu verwenden, um Zugang zu einer 2003 Sharepoint-Farm zu bekommen?

Wenn ich die 2007 api verwenden, muss ich an die veralteten Klassen verwenden (zum Beispiel) verweisen auf eine Konfigurationsdatenbank, oder verwende ich die 2007 Klassen, wie SPFarm?

Oder muss ich verwenden, um die 2007-API für SP 2007 und die 2003 API für SP 2003 ...? Problem dabei ist, dass beide die gleichen Namensräume und Klassennamen verwenden. So kann es chaotisch. (Außer vielleicht, wenn ich Aliase verwenden, um die verschiedenen Namensräume zu verweisen?)

War es hilfreich?

Lösung

Was weiß ich, die 2007 API und der 2003-API nicht kompatibel sind. Also ja? Sie werden beide implementieren müssen.

Ich kann vorschlagen Schnittstelle ISharePointAPI und zwei Implementierungen SharePoint2007API und SharePoint2003API haben. Diese Implementierungen können auch auf verschiedene Baugruppen verpackt werden, so dass Sie nicht Bezug Hölle haben :). Dies ist, werden Sie auch Änderungen ab 2010 API schützen wie das, was Sie brauchen, ist SharePoint2010API ...

implementieren

Andere Tipps

Die Schnittstellen sind (meist) kompatibel in einem Namespace / Klasse / Mitglied USAGE aber Sie haben die richtige Version der API für die korrekte Version von Sharepoint zu verwenden. Sie müssen auch bedenken, dass durch WSS2 / SPS2003 .NET1.1 standardmäßig verwendet.

Meine Lösung ist verwenden MSBEE und einige MSBUILD ninja bewegt sich zwei Versionen aus dem Quellcode auszuspucken.

Die ersten Targets .NET2 und Referenzen Microsoft.SharePoint.dll v12 (WSS3 / MOSS2007) und die zweiten Targets .NET1.1 und Referenzen Microsft.Sharepoint.dll V11 (WSS2 / SPS2003).

Es ist ziemlich ein FAF Setup funktioniert aber sehr gut danach. Wo Sie Code Unterschiede haben, können Sie die bedingte Kompilierung verwenden: -

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

Die Artikel ein wenig mehr Details gibt. Es ist ein großes Thema und ich habe Sinn, einen Blog-Post mit etwas Spitze zu schreiben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top