トップ回答者
「SharePoint - 80」のアプリケーションプールの、.NETFrameworkのバージョンをV2.0からV4.0に変更すると、SharePointにアクセスできなくなる

質問
-
「SharePoint - 80」のアプリケーションプールの、.NETFrameworkのバージョンをV2.0からV4.0に変更すると、SharePointのサイトにアクセスした場合にエラーが発生してしまいます。回避方法をご存じの方はいませんか?
- SharePointのバージョン
SharePoint 2010 Enterprize Server - 操作
1) IISマネージャーを起動
2) アプリケーションプールを選択
3) 「SharePoint - 80」を選択しダブルクリックし、「アプリケーションプールの編集」ウィンドウを表示
4) 「.NET Frameworkバージョン」をプルダウンより以下のように変更
変更前 : .NET Framework v2.0.50727
変更後 : .NET Framework v4.0.30319
5) 「OK」をクリックして終了
6) iisresetにより、IISを再起動
7) IISマネージャーの「サイト」より「SharePoint - 80」を選択
8) 「Webサイトの参照」のところのリンクをクリック - 発生エラー内容
モジュール : IIS Web Core
通知 : 不明
ハンドラー : 未定義です
エラー コード : 0x800700b7
構成エラー : 定義済みの 'system.web.extensions/scripting/scriptResourceHandler' セクションが重複しています
構成ファイル : \\?\C:\inetpub\wwwroot\wss\VirtualDirectories\80\web.config
構成ソース
21: <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
22: <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication" />
23: <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
※「22」行目が赤字になっています。
エラー内容に記載されているweb.configの該当行をコメントアウトしても、現象は回避できませんでした。
InfoPathでフォームを作成し、それを受けるWebサービスをサーバ側に構築したいと思っています。
そのWebサービス内で、SPSiteにてオブジェクトを取得した上で、Linqによりリストにアイテムを追加しようと考えています。
Webサービス内にてSPSite等を利用するためには、Webサービスを提供しているサイトにて、アプリケーションプールをSharePointのものに変更する必要があることがわかりました。
また、Linqを利用するには、.NET FrameworkのバージョンがV4である必要です。
そのため、VisualStudioにてWebサービスをV4で作成した場合に、そのサイトのアプリケーションプールに指定しているSharePointのアプリケーションプールの.NET FrameworkのバージョンもV4にする必要がると思い試した結果となります。
本現象の回避方法をご存じの方がいらっしゃいましたら、助けていただけないでしょうか?
よろしくお願いします。
- SharePointのバージョン
回答
-
SharePoint 2010 は .NET 3.5 まででしか動かないという情報をちらほら見かけるので、Linq を使わない、.NET 2.0-3.5 系で書くと言うことになるのではないでしょうか。
SharePoint 2010 application pool run on .net framework 4.0
こういった記事 も見かけましたが、私は不得手な分野なので妥当性はわかりませんが…。
(たぶん、かなりトリッキーなことをしているので、必然性がなければ、.NET 2.0-3.5 世代で書き直すのが速いと思っています) -
公式ブログでも、非サポートということになっていますね…
http://blogs.msdn.com/b/sharepointdev/archive/2011/07/14/net-framework-support-in-sharepoint-2010.aspx
SharePoint/Office365導入検討・運用・活用支援: http://simplesso.jp BLOG: http://sharepointmaniacs.com/
すべての返信
-
SharePoint 2010 は .NET 3.5 まででしか動かないという情報をちらほら見かけるので、Linq を使わない、.NET 2.0-3.5 系で書くと言うことになるのではないでしょうか。
SharePoint 2010 application pool run on .net framework 4.0
こういった記事 も見かけましたが、私は不得手な分野なので妥当性はわかりませんが…。
(たぶん、かなりトリッキーなことをしているので、必然性がなければ、.NET 2.0-3.5 世代で書き直すのが速いと思っています) -
公式ブログでも、非サポートということになっていますね…
http://blogs.msdn.com/b/sharepointdev/archive/2011/07/14/net-framework-support-in-sharepoint-2010.aspx
SharePoint/Office365導入検討・運用・活用支援: http://simplesso.jp BLOG: http://sharepointmaniacs.com/
-
Azuleanさん、中村さん、遅くなりましたが回答ありがとうございます。
その後の状況ですが、独自のWebサービスではなく、WCFを利用してサービスを作成しようとしています。(WCFを利用すれば、SharePoint配下に最初から展開でき、SPSiteなどのオブジェクトを取得しているサンプルもそれなりに見つかりましたので)
ただ、こちらは現在InfoPathからデータ接続を実行すると、匿名アクセスを要求されてしまい、その先に進めない状態です。匿名アクセスを許可すると動作するWCFで作成したWebサービスが動作することは確認できているのですが、なんとか認証を通せないものかと悩んでいます。
InfoPath、SharePointともまだまだ知らないことばかりで、奥が深いです。。。