代码改变世界

如何在SharePoint 2010项目中引用UserProfiles.dll

2010-01-15 08:49 by Windie Chai, ... 阅读, ... 评论, 收藏, 编辑

如果需要进行SharePoint的UserProfile开发的话,我们需要引用以下程序集:

C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI\Microsoft.Office.Server.UserProfiles.dll

在添加引用的时候,Visual Studio 2010会弹出如下图所示的对话框,提示我们项目的.NET 版本太低:

image

强行引用之后,项目会因为找不到命名空间而无法编译,如果把项目的.NET版本改为4.0,这个问题就解决了。

然而SharePoint 2010依然基于.NET Framework 3.5的,如果你在.NET版本为4.0的项目中引用了Microsoft.SharePoint.dll并且企图实例化一个SPSite对象的话, 在执行阶段会抛出一个FileNotFoundException,如下图所示:

image

那么如果想要在同一个项目中同时引用这两个程序集来进行开发该怎么进行?这个明显的冲突在SharePoint还是技术预览版的时候就让我郁闷不已,甚至连产品组的技术支持都没有给我明确的解答(一定是他们太忙了,我表示理解),今天在Kaneboy和十一的帮助下终于知道了如何去解决。

解决方法就是在.NET版本为3.5的项目中进行开发,额外引用下面这个程序集:

C:\Program Files (x86)\Microsoft Chart Controls\Assemblies\System.Web.DataVisualization.dll

最后再感慨一下,SharePoint到了2010时代,已经庞大的令人恐惧了。