2012-06-19 54 views
0

我正在編寫一個控制檯應用程序,它使用SharePoint對象模型來處理SharePoint中的數據。SharePoint控制檯程序無法加載System.Web.Extensions,版本= 4.0.0.0程序集

有兩個變量:

SPWeb spWeb 
string formsUser //username 

,我試圖解決用戶

SPUser userF = spWeb.EnsureUser(formsUser); 

該行不斷拋出異常:

無法加載文件或程序集「 System.Web.Extensions,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35「或其依賴項之一。系統找不到指定的文件。

我的項目的目標框架是.Net Framework 3.5。我有參考System.Web.Extensions.dll,版本3.5.0.0 ..

我無法理解:

  1. 爲什麼我的應用期待本次大會在4.0.0.0版本,而不是在3.5.0.0
  2. 爲什麼這一行會被拋出關於System.Web.Extensions例外,如果一切都在這條線是關於Microsoft.SharePoint裝配

更新:
在上面的例子中 我使用的是基於表單的用戶,因此字符串是什麼如:i:0#.f|someprovider|john.doe。如果我使用基於Windows的用戶,那麼i:0#.w|domain\john.doe,這個異常不會被拋出。

有沒有什麼機會,即SPUser正在偷偷嘗試使用System.Web.Extensions,並且失敗?

回答

0

我找到了解決辦法:

app.config文件在我的應用程序包含system.web/membershiproleManager部分。並提及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" /> 
相關問題