Domanda

Sto cercando di creare azioni personalizzate utilizzando WSP Builder, la mia struttura della cartella è qualcosa di simile,

Inserire l'immagine Descrizione qui

Ora quando provo a distribuire la soluzione non viene visualizzato nulla, però ottenendo questo errore nel mio registro ULS,

.

Impossibile creare un controllo da Assembly '', Class '': il controllo Con Nome assembly '', 'Nome classe' 'non è consentito per il web in URL ''.Il tipo non è registrato come sicuro.

Ho rimosso i nomi di assemblaggio me stesso, tuttavia leggo questo Un'altra domanda che chiedono di aggiungere il file manifest.xml ma non sono sicuro di dove andrà e se la creazione di un wsp usando WSPIl costruttore includerà Manifest.xml in WSP e risolverà il problema?

È stato utile?

Soluzione

È possibile aggiungere un modulo vuoto al progetto, open Proprietà Finestra e Set Entità di controllo sicura Proprietà di un nuovo modulo aggiunto.Questa proprietà consente di aggiungere raccolta di controlli sicuri.

Altri suggerimenti

È necessario aggiungere questo alla funzione di FeatureAttived per la funzione Reciti

        SPWebConfigModification safeControl = new SPWebConfigModification();
                    safeControl.Path = "configuration/SharePoint/SafeControls";
                    safeControl.Owner = ModuleNameGoesHere;
                    safeControl.Name = "SafeControl[@Assembly='assembly.Name.goes.Here, Version=1.0.0.0, Culture=neutral, PublicKeyToken=87b3480442bff091'][@Namespace=Namespace.Name.goes.Here'][@TypeName='*'][@Safe='True']";
                    safeControl.Type = SPWebConfigModification.SPWebConfigModificationType.EnsureChildNode;
                    safeControl.Sequence = 0;
                    safeControl.Value = "<SafeControl Assembly='assembly.Name.goes.Here, Version=1.0.0.0, Culture=neutral, PublicKeyToken=87b3480442bff091' Namespace=Namespace.Name.goes.Here' TypeName='*' Safe='True' />";
                    mService.WebConfigModifications.Add(safeControl);
                    mService.Update();
                    mService.ApplyWebConfigModifications();
.

Il codice sopra aggiunge la funzione o qualsiasi altra cosa sia forse ai controlli sicuri in Web.config per te! Questo è il modo consigliato e si attende con le migliori pratiche. Quindi, quando attiva la funzione, aggiungerà i controlli sicuri :)

Modifica

Altro può essere trovato qui simile all'esempio sopra! e sì, questa è la migliore pratica ed è stata messa in possesso di Microsoft specificaly per la registrazione di SafeControls senza farlo manualmente e viene aggiunta automaticamente ogni volta che attiva la funzione sul Web.config richiesti all'interno della webapplicazione, quindi non c'è bisogno di farlo manualmente Orari :):

.

Una raccolta di modifiche web.config è un insieme di comandi che, Se elaborato dal manipolatore Web.Config in Microsoft SharePoint Fondazione, modificare lo stato del file web.config. Puoi stringere insieme un insieme di questi comandi per assicurarsi di applicare il desiderato Tag e attributi all'interno del web.config. Ogni modifica è espressa come oggetto nel modello di oggetto amministrativo.

Utilizzare la proprietà WebConfigModifications della SPWeBapplication o Classe di SPWebService per ottenere la raccolta di modifiche web.config sia nell'applicazione Web o in tutte le applicazioni Web all'interno del Servizio web. Per applicare le modifiche che definiscono attraverso il Classe di SPWebConfigModification ai file Web.Config nel server Azienda agricola, chiama il metodo ApplyWebConfigmodifications sulla corrente Content Web Service Object, come segue: Spwebservice.contentservice.applywebconfigmodifications

http://msdn.microsoft.com/ en-noi / biblioteca / microsoft.sharepoint.administration.spwebconfigmodification.aspx

Spero che aiuti :)

Modifica 2

Se è un WebPart allora sì, si dovrebbe avere un file manifest chiamato manifest.xml con quanto segue:

<?xml version="1.0" encoding="utf-8" ?>
<Solution xmlns="http://schemas.microsoft.com/sharepoint/" SolutionId="{C1938CC9-A1A3-4e20-932C-33ECB2C47481}">
  <Assemblies>
    <Assembly DeploymentTarget="GlobalAssemblyCache" Location="WebPartsname.dll">
      <SafeControls>
        <SafeControl Assembly="namespacegoeshere, Version=1.0.0.0, Culture=neutral, PublicKeyToken=918d2ffdab83e9e8"
                     Namespace="namespacegoeshere" TypeName="*" Safe="True"/>
      </SafeControls>
    </Assembly>
  </Assemblies>
</Solution>
.

Spero che getta una luce :)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top