1

SharePointソリューションメカニズムを使用してWebパーツを展開しています。今まではすべて正常に機能しましたが、manifest.xmlファイルにCASポリシーを追加すると、展開が正常に機能しません。CASポリシーを使用してソリューションを展開する場合、エラーは発生しませんが、ポリシーファイルは作成されず、dllはコピーされず、SafeControlsエントリはweb.configに追加されません。私のmanifest.xmlファイルは次のようになります:

<Solution SolutionId="{8099F953-02F2-49e1-B620-06B9050515A3}"
          xmlns="http://schemas.microsoft.com/sharepoint/">

  <FeatureManifests>
    <FeatureManifest Location="Przydzialy\feature.xml" />
  </FeatureManifests>

  <TemplateFiles>
    <TemplateFile Location="FEATURES\Przydzialy\AjaxWebPart.dwp" />
    <TemplateFile Location="FEATURES\Przydzialy\UserControlContainer.dwp" />
  </TemplateFiles>

  <Assemblies>
    <Assembly DeploymentTarget="WebApplication" Location="Package.WebParts.dll">
      <SafeControls>
        <SafeControl Assembly="Package.WebParts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=9a8b1f3d028b8494" Namespace="Package.WebParts" TypeName="UserControlContainer" Safe="True" />
        <SafeControl Assembly="Package.WebParts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=9a8b1f3d028b8494" Namespace="Package.WebParts" TypeName="AjaxWebPart" Safe="True" />
        <SafeControl Assembly="Package.WebParts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=9a8b1f3d028b8494" Namespace="Package.WebParts" TypeName="ProgressTemplate" Safe="True" />
        <SafeControl Assembly="Package.WebParts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=9a8b1f3d028b8494" Namespace="Package.WebParts.SmartWebPart" TypeName="UserControlContainerToolPart" Safe="True" />
      </SafeControls>
    </Assembly>
  </Assemblies>

  <CodeAccessSecurity>
    <PolicyItem>
      <PermissionSet class="NamedPermissionSet" version="1" Description="Permission set for Package.WebParts">
        <IPermission class="AspNetHostingPermission" version="1" Level="Medium" />
      </PermissionSet>
      <Assemblies>
        <Assembly Name="Package.WebParts" />
      </Assemblies>
    </PolicyItem>
  </CodeAccessSecurity>

</Solution>

その前に誰かがそのような問題を抱えていましたか?この時点でアイデアが足りなくなったので、提案を受け付けています。

4

1 に答える 1

1

web.config をチェックして、信頼レベルが完全に設定されていないことを確認してください。CAS ポリシーをまだ展開していない場合は WSS_Minimal に設定し、既に何かを展開している場合は WSS_Custom に設定する必要があります。問題の原因となるため、ソリューション パッケージに読み取り専用ファイルがないことを確認してください。

最後に、Central Admin または stsadm を介してソリューションを展開していますか? stsadm を介して展開している場合は、中央管理に移動し、ソリューションを展開するときにエラーが表示されるかどうかを確認します。

多くの場合、より多くのパーミッション セットも必要になるでしょう。コード アクセス セキュリティの詳細については、こちらの投稿を確認してください。

于 2009-03-20T19:30:21.863 に答える