Skip to content
This repository has been archived by the owner on Apr 15, 2024. It is now read-only.

SharePoint Mvc and 'Bin' deployment

vadimi edited this page Dec 5, 2011 · 3 revisions

SharePoint-Mvc supports 'Bin' deployment as well. To make it happen it's necessary to add custom PolicyItem into manifest.xml file and give necessary permissions to at least two assemblies: your SharePoint project assembly and SPMvc.Core.dll

CodeAccessSecurity element of Package.Template.xml should look something like this:

<CodeAccessSecurity>
  <PolicyItem>
    <PermissionSet class="NamedPermissionSet" version="1">
      <IPermission class="AspNetHostingPermission" version="1" Level="Medium"/>
      <IPermission class="DnsPermission" version="1" Unrestricted="true"/>
      <IPermission class="EnvironmentPermission" version="1" Read="TEMP;TMP;USERNAME;OS;COMPUTERNAME"/>
      <IPermission class="FileIOPermission" version="1" Read="$AppDir$" Write="$AppDir$" Append="$AppDir$" PathDiscovery="$AppDir$"/>
      <IPermission class="IsolatedStorageFilePermission" version="1" Allowed="AssemblyIsolationByUser" UserQuota="9223372036854775807"/>
      <IPermission class="PrintingPermission" version="1" Level="DefaultPrinting"/>
      <IPermission class="SecurityPermission" version="1" Flags="Assertion, Execution, ControlThread, ControlPrincipal, RemotingConfiguration"/>
      <IPermission class="SmtpPermission" version="1" Access="Connect"/>
      <IPermission class="SqlClientPermission" version="1" Unrestricted="true"/>
      <IPermission class="SharePointPermission" version="1" Unrestricted="true"/>
      <IPermission class="WebPermission" version="1">
        <ConnectAccess>
          <URI uri="$OriginHost$"/>
        </ConnectAccess>
      </IPermission>
      <IPermission class="System.Security.Permissions.ReflectionPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="RestrictedMemberAccess" />
    </PermissionSet>
    <Assemblies>
      <Assembly Name="SPMvc.Core" Version="1.0.0.0"
        PublicKeyBlob="0024000004800000940000000602000000240000525341310004000001000100a1d7e94e01bfd69379f2273695a2d399a1d94fbf12f4e31c05adf7781394324053322a780dc82a5aeb9dde51531624948a5ebe5d7c50f392bb0c6688532a42128c410a24c4bfa69f40fc0713240dca37faa9b139aa0790955349e7feb61fc292d328c1c84f01f2ea69c2630270fd7c6f5c9b5b7d727f08a2e7113a65cc0117ec" />
      <Assembly Name="$SharePoint.Project.AssemblyName$"
        Version="$SharePoint.Project.AssemblyVersion$"
        PublicKeyBlob="$SharePoint.Project.AssemblyPublicKeyBlob$"/>
      </Assemblies>
  </PolicyItem>
</CodeAccessSecurity>

And one more important thing: System.Web.Mvc.dll should be deployed to GAC.

Clone this wiki locally