我正在编写一个控制台应用程序,它使用SharePoint对象模型来操作SharePoint内部的数据。
有两个变量:
SPWeb spWeb
string formsUser //username
我正在尝试解析用户
SPUser userF = spWeb.EnsureUser(formsUser);
此行不断抛出异常:
无法加载文件或程序集“System.Web.Extensions,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35”或其依赖项之一。系统找不到指定的文件。
我的项目的Target框架是.Net Framework 3.5。我参考了System.Web.Extensions.dll
,版本3.5.0.0 ..
我无法理解:
4.0.0.0
而不是3.5.0.0
中使用此程序集?System.Web.Extensions
程序集Microsoft.SharePoint
的异常
醇>
更新
在上面的示例中,我使用基于表单的用户,因此字符串类似于:i:0#.f|someprovider|john.doe
。如果我使用基于Windows的用户,那么i:0#.w|domain\john.doe
,则不会抛出此异常。
有SPUser
秘密尝试使用System.Web.Extensions
并且失败了吗?
答案 0 :(得分:0)
我找到了解决方案:
我的应用中的app.config
文件包含system.web/membership
和roleManager
部分。并且引用了System.Web.Extensions, Version=4.0.0.0
<add name="ClientAuthenticationMembershipProvider"
type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />