3

まあ、SharePoint 2013 はあまりサンドボックス フレンドリーではありません。課題が多い。

SharePoint 2010 では、これを使用して、マスターページ内にサンドボックス Web パーツを正常に埋め込むことができました。

<WebPartPages:SPUserCodeWebPart runat="server" Description="Description" Title="TITLE"
    AssemblyFullName="$SharePoint.Project.AssemblyFullName$" SolutionId="00000000-0000-0000-0000-00000000000"
    ID="ID" TypeFullName="Namespace.WP">
</WebPartPages:SPUserCodeWebPart>

ただし、これを SharePoint 2013 のマスターページ内に追加すると、次のエラーが発生します。

ExecuteRequestInSandBox の呼び出しに失敗しました。System.NullReferenceException: オブジェクト参照がオブジェクトのインスタンスに設定されていません。at Microsoft.SharePoint.WebPartPages.BinaryWebPartSerializer.Serialize(PersonalizationScope scope, BinaryWebPartSerializerFlag binaryWebPartSerializerFlags, BinaryWebPartSerializerWriter writer) at Microsoft.SharePoint.WebPartPages.BinaryWebPartSerializer.Serialize(SerializationMode mode, BinaryWebPartSerializerFlag binaryWebPartSerializerFlags, BinaryWebPartSerializerWriter writer) at Microsoft.SharePoint.WebPartPages.SPUserCodeWebPart.EnsurePersistedBlobsMatchPropertiesCollection () Microsoft.SharePoint.UserCode.SPUserCodeWebPartRemoteExecutionHelper の Microsoft.SharePoint.WebPartPages.SPUserCodeWebPart.GetWebPartDataForRemoteCall(Object& viewState, Object& controlState) で。

4

3 に答える 3

2

いろいろ試してみましたが、サンドボックス Web パーツをマスターページに埋め込むことができないようです。ただし、ファーム レベルの Web パーツ ソリューションは、マスターページに正常に埋め込むことができます。

なぜこのような動作になるのかわかりません。ただし、SandBox WP が埋め込まれたアプリケーション ページをデプロイすることはでき、アプリケーション ページは正常に動作します。これは非常に興味深い動作です。

今のところ、私はこの質問を開いたままにしています。たぶん誰かがこの狂気を理解するでしょう。

唯一の悪い点は、マスターページを SharePoint Online (ホスト型) に展開できないことです。これは、ファーム レベルのソリューションが許可されていないためです。おそらく、AppParts、iFrames、またはバックエンドの偽のサービスを使用した組み込みの javascript/jQuery でうまくいくかもしれませんが、私の目的のために、もう少し複雑なものを検討していました。

于 2013-03-21T17:29:23.983 に答える
1

今日、SP ファームで同様の問題が発生しました。SharePoint 2013 SP1 をインストールすると、これは修正されます。これが発生している場合は、パッチのバージョンを確認してください。15.0.4569 未満の場合は、少なくとも 15.0.4569 にアップグレードします。

于 2015-01-07T19:56:48.813 に答える