Question

J'essaie de créer des actions personnalisées à l'aide de WSP Builder, ma structure de dossier est une chose comme celle-ci,

Entrez la description de l'image ici

Maintenant, lorsque j'essaie de déployer une solution, rien ne propose cependant que je reçois cette erreur dans mon journal ULS,

Impossible de créer un contrôle de l'assemblage '', de la classe '': le contrôle avec nom d'assemblage '', "nom de classe" n'est pas autorisé pour le Web à l'URL ''.Le type n'est pas enregistré comme sûr.

J'ai retiré les noms d'assemblage moi-même, mais je lisais ceci une autre question , ils demandent à ajouter manifeste.xml , mais pas sûr d'où il ira si la création d'un WSP à l'aide de wspBuilder inclura Manifest.xml dans WSP et résoudra le problème?

Était-ce utile?

La solution

Vous pouvez ajouter un module vide à votre projet, ouvrez les propriétés Propriétés Fenêtre et définissez entités de contrôle sécurisées Propriété d'un nouveau module ajouté.Cette propriété permet d'ajouter une collection de contrôles sécurisés.

Autres conseils

Vous devez ajouter ceci à la fonction FeatureActivée pour les récepteurs de fonctionnalités

        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();

Le code ci-dessus ajoute la fonctionnalité ou quoi que ce soit pour les contrôles sécurisés dans web.config pour vous! C'est la manière recommandée et les demeurs par les meilleures pratiques. Ainsi, lorsque vous activez la fonctionnalité, il ajoutera les commandes sécurisées :)

Modifier

plus peut être trouvé ici similaire à l'exemple ci-dessus! et oui, c'est la meilleure pratique et a été placé sur Microsoft Specificaly pour enregistrer Safecontrols sans que vous le faisiez manuellement et que vous obtiendrez automatiquement chaque fois que vous activez la fonctionnalité sur le web.Config utilisé sur le WebApplication, donc pas besoin de le faire manuellement multiple Temps :):

Une collection de modifications web.config est un ensemble de commandes qui, Lorsqu'il est traité par le manipulateur web.config dans Microsoft SharePoint Fondation, modifier l'état du fichier web.config. Vous pouvez chaîner ensemble un ensemble de ces commandes pour s'assurer qu'ils appliquent le souhaité Tags et attributs dans web.config. Chaque modification est exprimée comme objet dans le modèle d'objet administratif.

Utilisez la propriété webconfigmodifications de la SPWEBApplication ou SPWebSservice classe pour obtenir la collection de modifications Web.config soit dans l'application Web ou dans toutes les applications Web dans le Service Web. Appliquer des modifications que vous définissez à travers le SPWEBCONFigModification Classe sur les fichiers Web.config sur le serveur Ferme, appelez la méthode AppelwebConfigModifications sur le courant Objet de service Web de contenu, comme suit: Spwebservice.contentservice.applyWebconfigmodifications

http://msdn.microsoft.com/ EN-US / Bibliothèque / Microsoft.SharePoint.Administration.spwebConfigModification.aspx

espère qu'il aide :)

Edit 2

Si c'est un WebPart, vous devez avoir un fichier manifeste appelé manifeste.xml avec les éléments suivants:

<?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>

J'espère que ça met de la lumière :)

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top