我们能否在同一项目中使用SharePoint 2007和SharePoint 2010的dll文件?

3

我在进行Windows应用程序开发。我的需求是需要为该项目创建SharePoint 2007和SharePoint 2010层。

我们能在一个项目中使用SharePoint 2007和SharePoint 2010版本的dll吗?


我了解这是一个Windows应用程序。您打算如何在2007版本中使用DLL?该应用程序将在服务器上运行吗? - Shoban
我得到了一位同事的建议,他说这是不可能完成的,但他无法提供任何具体的支持此主张的证据(这就是为什么这是一个评论而不是答案)。我会看看今天晚些时候是否有时间为您测试。 - Michael A
@Shoban 是的,应用程序在服务器上运行。 - Basant B. Pandey
谢谢 @Michael,请检查并让我知道是否可能。如果不行,那么有什么替代方法可以做到这一点。 - Basant B. Pandey
我是Sharepoint SUSHI的一部分,我们有针对2007和2010版本的不同EXE文件 :) - Shoban
显示剩余3条评论
1个回答

1

所以你想让你的应用程序在SharePoint 2007和2010上都能工作,对吗?

你有两个选择:-

A)最简单的方法是在你的项目中引用SharePoint 2007 DLL,并对包清单进行小改动以删除SharePointProductVersion属性。

这样就可以在SharePoint 2007上正常工作,在SharePoint 2010上已经设置好了BindingRedirects,因此2007 Web部件将在2010上“正常工作”。

请参见{{link2:“使用Visual Studio 2010开发SharePoint 2007 Web部件”}}

但是-这意味着您无法使用在2007年之前不存在的任何新的SharePoint 2010功能。

B) 一种更高级的方法是使用一些 MSBUILD 的技巧来输出两个“目标”(程序的版本)- 一个针对 2007 年,一个针对 2010 年。您可以修改 .csproj 文件以引用适当版本的 Microsoft.SharePoint.dll,并使用条件编译在必要时保持相同的源代码但有一些小差异。这是相当高级的东西,很少需要,所以我不会在这里详细介绍 - 但如果需要进一步研究,您已经有了相关关键词。


谢谢@Ryan,但我的问题与SharePoint Web Part无关,而是与Window应用程序有关。我有一个Window应用程序,我需要让它在SharePoint 2010和WSS上都能运行。你有任何相关的想法吗? - Basant B. Pandey
Web部件或Windows应用程序都无所谓。您正在使用SharePoint对象模型,通过引用Microsoft.SharePoint.dll,因此无论哪种方式,答案都是相同的。 - Ryan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接