Pergunta

Codifiquei uma solução que usa a API de 2007 para atravessar o modelo de objeto do SharePoint. Agora eu preciso apoiar o SP 2003 também. Qual é a melhor maneira de fazer isso?

É possível / recomendável usar a API de 2007 para obter acesso a uma fazenda do SharePoint de 2003?

Se eu uso a API de 2007, preciso usar as classes depreciadas para (por exemplo) referência a um banco de dados de configuração ou uso as classes de 2007, como o SPFARM?

Ou uso a API de 2007 para SP 2007 e a API de 2003 para SP 2003 ...? O problema é que ambos usam os mesmos espaços para nomes e nomes de classe. Para que possa ficar bagunçado. (Exceto talvez se eu usar aliases para fazer referência aos diferentes espaços para nome?)

Foi útil?

Solução

Até onde sei que a API de 2007 e a API de 2003 são incompatíveis. Então sim? você precisará implementar os dois.

Eu posso sugerir ter interface isharepointapi e duas implementações SharePoint2007API e SharePoint2003API. Essas implementações podem até ser empacotadas para diferentes montagens, para que você não tenha referência no inferno :). Isso também o protegerá das alterações da API de 2010, conforme o que você precisará é implementar o SharePoint2010API ...

Outras dicas

As interfaces são (principalmente) compatíveis em um espaço de nome/classe/uso do membro, mas você deve usar a versão correta da API para a versão correta do SharePoint. Você também deve considerar que, por WSS2/SPS2003, usa .NET1.1 por padrão.

Minha solução para isso é usar MsBee E alguns msbuild ninja se movem para cuspir duas versões do seu código -fonte.

Os primeiros alvos .NET2 e Referências Microsoft.SharePoint.DLL V12 (WSS3/MOSS2007) e os segundos alvos .NET1.1 e Referências Microsft.SharePoint.dll V11 (WSS2/SPS2003).

É um FAF para configurar, mas funciona muito bem depois disso. Onde você tem diferenças de código, você pode usar a compilação condicional:-

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

este artigo dá um pouco mais de detalhe. É um grande tópico e pretendo escrever uma postagem no blog com alguma dica.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top