2009-11-04 1 views
0

J'ai créé un webpart et je veux le déployer dans Sharepoint. Je veux déployer la partie Web dans bin.Un nom fort est-il nécessaire dans Sharepoint pour utiliser une WebPart?

Je n'ai pas créé de nom fort pour dll (code webpart). Un nom fort est-il indispensable pour déployer webpart dans le dossier bin?

J'ai référé ce lien msdn pour ce faire.

http://technet.microsoft.com/en-us/library/cc263271.aspx

Quand je vais à la galerie et que vous souhaitez webpart remplir une partie Web, il ne comparaît pas dans la galerie de webpart.

Toute aide sera appréciée.

Répondre

1

Un nom fort n'est pas un must pour le développement Sharepoint, mais c'est votre option la plus facile.

Vous pouvez également utiliser WSPBuilder (SharePoint WSP tool) pour déployer votre webparts

+0

Je veux déployer la partie Web dans le dossier bin de l'application. Je ne veux pas utiliser WSPBuilder. Je coping et colle des dossiers. Cette copie ne fonctionne pas. Je vais aussi essayer WSPBuilder. –

+0

Vous pouvez également donner 'VSeWSS' un essai –

+0

IMHO, VSeWSS n'évolue pas bien dans un plus grand projet SharePoint –

0

Je nom habituellement fort mes assemblées parce que je ne veux pas découvrir plus tard que mes assemblées a besoin d'un nom fort, juste au cas où l'assemblée est d'être utilisé d'une autre manière que je l'ai initialement prévu. J'ai également eu des problèmes concernant les événements dans Sharepoint où la réflexion est utilisée pour exécuter des fonctions basées sur les informations de classe et d'assemblage (probablement stockées dans la base de données), donc si vous ajoutez un nom fort plus tard, vous devez mettre à jour les endroits où l'ancien événement a été utilisé (par exemple sur des listes), sinon vos fonctions ne seront pas touchées. D'autre part, si vous avez un nom fort, alors il est facile d'utiliser web.config assembly redirect

J'aime votre idée d'avoir l'assemblage dans la corbeille, de cette façon, vous pouvez utiliser CAS qui fournit plus de contrôle pour les administrateurs. Pour résoudre ce problème, vous pouvez commencer par ajouter le nom fort et déployer l'assembly au GAC, puis ajouter votre .webpart (ou .dwp) à la galerie de composants WebPart. Si cela fonctionne, vous pouvez essayer de déplacer l'assemblage dans le dossier bin, puis supprimer le nom fort. Vous pouvez envisager de déployer le composant WebPart dans une fonction et d'ajouter le code nécessaire pour ajouter le fichier .webpart à la galerie à la volée afin de ne pas avoir à vous soucier du fichier. Pour ce faire, utilisez le code à l'aide d'une fonctionnalité. récepteur

using (SPWeb web = site.OpenWeb()) 
{ 
    web.AllowUnsafeUpdates = true; 
    site.AllowUnsafeUpdates = true;  
    SPList list = web.Lists["Web Part Gallery"]; 
    SPFolder root = list.RootFolder; 
    SPFile spFile = root.Files.Add("ContentEditor.dwp", s); 
    spFile.Update(); 
} 

ou en utilisant Caml xml

<?xml version="1.0" encoding="utf-8"?> 
<Feature Id="8425EAF8-6GBE-4698-83C7-831CA8614D6D" 
     Title="WebPart" 
     Description="Some description" 
     ImageUrl="GenericFeature.gif" 
     Scope="Site" 
     xmlns="http://schemas.microsoft.com/sharepoint/"> 
    <ElementManifests> 
     <ElementManifest Location="elements.xml" /> 
    </ElementManifests> 
</Feature> 

<?xml version="1.0" encoding="utf-8"?> 
<Elements xmlns="http://schemas.microsoft.com/sharepoint/"> 
    <Module 
     Name="WebPart" 
     List="113" 
     Url="_catalogs/wp" 
     RootWebOnly="TRUE"> 
     <File Url="WebPart.dwp" Type="GhostableInLibrary" /> 
    </Module> 
</Elements> 
Questions connexes