Communardo Software GmbH, Kleiststraße 10 a, D-01129 Dresden
0800 1 255 255

Deployment von Webparts in den Sharepoint bin-Ordner anstelle GAC

Eigenentwickelte Webparts wer­den oft­mals in den Global Assembly Cache (GAC) des Sharepoint Servers deployed, da dort z.B. die erfor­der­li­chen Sicherheitseinstellungen und die Versionsverwaltung gege­ben sind. Während der Entwicklungszeit ist dies aber wegen des dafür erfor­der­li­chen iis­re­set ziem­lich läs­tig und in der Regel auch nicht not­wen­dig. Eine beque­mere Lösung ist es, wäh­rend der Entwicklungszeit in den Sharepoint bin-Ordner zu deployen.

Folgende Schritte sind dafür erfor­der­lich:

  1. Die Assembly kann, muss aber nicht mit einem Strong Name ver­se­hen wer­den.
  2. Referenz auf System.Security zum Webpart-Projekt hin­zu­fü­gen
  3. In AssemblyInfo.cs ein­fü­gen:

    using System.Security;
    [assem­bly: AllowPartiallyTrustedCallers()]

  4. –> Project Properties –> build auf den Sharepoint bin-Ordner ein­stel­len (bzw. im PostBuilt Event dort­hin kopie­ren)
    (stan­dard­mä­ßig ist die­ser nicht vor­han­den – ein­fach einen Ordber "bin" unter­halb des Ordners für die Sharepoint Anwendung anle­gen)
  5. <SafeControls> Eintrag in der web.config der Sharepoint Anwendung wie gehabt, z.B.

    <SafeControl>Assembly="TestWebPartLibrary, Version=1.0.0.0, Culture=neutral,
    PublicKeyToken=3f4ba00116c78ec4" Namespace="TestWebPartLibrary" TypeName="*"
    Safe="True" />

  6. <securityPolicy> Eintrag in der web.config wie folgt ergän­zen:

    <securityPolicy>
    […]
    <trustLevel name="Full" policyFile="internal"/>
    </securityPolicy>

  7. <trust> Eintrag in der web.config auf "Full" ein­stel­len:
    <trust level="Full" originUrl="" />

Nun genügt ein ein­fa­ches Build in der VS.Net Entwicklungsumgebung und der Webpart ist deployed 🙂

Related Posts

Pin It on Pinterest