0

SharePointオブジェクトモデルを使用してSharePoint内のデータを操作するコンソールアプリケーションを作成しています。

2つの変数があります:

SPWeb spWeb
string formsUser   //username

そして私はユーザーを解決しようとしています

SPUser userF = spWeb.EnsureUser(formsUser);

この行は例外をスローし続けます:

ファイルまたはアセンブリ"System.Web.Extensions、Version = 4.0.0.0、Culture = neutral、PublicKeyToken=31bf3856ad364e35"またはその依存関係の1つを読み込めませんでした。指定されたファイルが見つかりません。

私のプロジェクトのターゲットフレームワークは.NetFramework3.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はありますか?

4

1 に答える 1

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" />
于 2012-06-21T08:04:09.057 に答える