近段时间由于一些需求需要给User Profile增加几个属性,增加属性固然简单,直接增加就可以了,可是今天就出现了一个问题,当在管理中心点击管理用户属性的时候出现了如下的错误:
未找到文件,就这样看错误确实不知道是什么问题,直接打开SharePoint的Log日志看了一下,具体错误如下:
System.IO.FileNotFoundException: 未能加载文件或程序集“Microsoft.ResourceManagement, Version=4.0.2450.34, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项。系统找不到指定的文件。 在 Microsoft.Office.Server.UserProfiles.UserProfileConfigManager.InitializeIlmClient(String ILMMachineName, Int32 FIMWebClientTimeOut) 在 Microsoft.Office.Server.UserProfiles.ConnectionManager.Initialize(UserProfileApplicationProxy userProfileApplicationProxy, Guid partitionID) 在 Microsoft.Office.Server.UserProfiles.ConnectionManager..ctor(UserProfileApplicationProxy userProfileApplicationProxy, Guid partitionID) 在 Microsoft.Office.Server.UserProfiles.UserProfileConfigManager.get_ConnectionManager() 在 Microsoft.SharePoint.Portal.WebControls.ManageProfileProperty._BuildPropertyMappingList() 在 Microsoft.Shar... 92f0accf-7576-4951-9dfb-30ae387d3944
这个错误就证明GAC里面没这个DLL,所以打开Assembly文件夹找了一下,发现了这个:
是我的Dll的版本不对,应该是更新的原因,后来上网找了一下,发现是因为Windows 2008 R2自动更新导致的问题,由于微软仅仅将KB2560890这个更新包放到和Windows Update里面,所以导致SharePoint中部分Dll的版本不对应,解决办法就是还需要安装另外6个更新包,将这些所有的更新包安装完毕后再点击管理用户属性,发现没任何问题了。
微软对此也发布了一个安全公告:http://technet.microsoft.com/zh-cn/security/bulletin/ms11-074
所有的更新包的中文版地址如下:
Microsoft Office SharePoint Server 2010 安全更新(osrchwfe)(KB2494022)
Microsoft SharePoint Server 2010 安全更新(osrv)(KB2560885)
Microsoft SharePoint Server 2010 安全更新(pplwfe)(KB2560890)
Microsoft SharePoint Server 2010 安全更新(ppsmawfe)(KB2566456)
Microsoft SharePoint Server 2010 安全更新(dlc)(KB2566954)