2010-10-08 6 views
3

J'ai créé une solution "Hello World" Sharepoint 2010 utilisant VS2010. Il contient juste une caractéristique, et une partie web contenant une étiquette. J'ai enregistré le webpart comme un contrôle de sécurité dans la fenêtre "Propriétés" de la partie Web, dans VS2010.Le contrôle de registre Sharepoint 2010 est sécurisé via wsp

Lorsque je déploie ma solution sur mon serveur local, tout fonctionne très bien! Je peux ajouter le webpart à une page, et dans le fichier web.config mon contrôle est ajouté à la liste SafeControls. Lorsque j'installe la même solution sur un serveur différent, je peux voir le webpart dans la liste des webparts disponibles, mais quand j'essaie de l'ajouter à la page, il me dit que ce n'est pas enregistré comme sûr. Lorsque je vérifie le fichier web.config, il n'y a aucune entrée pour mon contrôle. Si j'en ajoute un manuellement (celui de mon serveur de dev), les choses commencent à marcher.

Maintenant, je me demande pourquoi le contrôle n'est pas enregistré lorsque j'installe le fichier wsp. Le manifeste à l'intérieur du wsp contient cette ligne:

<Assemblies> 
<Assembly Location="abc.TestWebPart.dll" DeploymentTarget="GlobalAssemblyCache"> 
    <SafeControls> 
    <SafeControl Assembly="abc.TestWebPart, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e262c75e6f6e8440" Namespace="abc.TestWebPart.VisualWebPart1" TypeName="*" /> 
    </SafeControls> 
</Assembly> 

Toutes les idées sont les bienvenues!

+0

Si vous allez à l'Administration centrale> Paramètres système> Gérer des solutions agricoles sur l'autre serveur, est votre WSP affiché comme déployé? –

+0

Oui, la solution est déployée correctement et je peux utiliser les contrôles après les avoir ajoutés manuellement dans la section safe du fichier de configuration. – Diana

+0

Vous avez les mêmes problèmes, une idée? – Ybbest

Répondre

0

Vérifiez les différences de typographie et de version.

+0

Je reçois le même problème, j'ai eu des entrées dans le manifeste WSP correct, parce que je coller manuellement les mêmes entrées dans web.config et cela fonctionne. D'autres indices? –

0

Avez-vous activé la fonctionnalité pour l'application Web?

0

Réponse tardive Je sais.

Je pense qu'il vous manque 'Safe = "TRUE"' dans votre balise SafeControl.

code correct:

<Assemblies> 
    <Assembly Location="abc.TestWebPart.dll" DeploymentTarget="GlobalAssemblyCache"> 
    <SafeControls> 
     <SafeControl 
     Assembly="abc.TestWebPart, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e262c75e6f6e8440" 
     Namespace="abc.TestWebPart.VisualWebPart1" 
     TypeName="*" 
     Safe="TRUE" 
     /> 
    </SafeControls> 
    </Assembly> 
</Assemblies> 
Questions connexes