2009-03-12 11 views
3

J'ai un ensemble de UserControls dans un site Web ASP.NET que je voudrais partager avec plusieurs sites Web. Mais il semble que nous sommes incapables de créer une bibliothèque de classes avec UserControls avec le fichier ascx. Alors que MSDN suggère de créer un contrôle Web, je préfère trouver un moyen de partager les contrôles existants au lieu de les détruire pour créer de nouveaux contrôles Web.Comment rendre usercontrol disponible pour plusieurs projets?

Y a-t-il un moyen de créer une bibliothèque de UserControls?

Merci

Répondre

8

Voici une façon de le faire:

Creating and Using User Control Libraries.

+0

J'ai fait quelque chose de semblable à cela, sauf à l'étape supplémentaire d'utiliser l'assistant de déploiement Web pour compiler tout le code dans une DLL qui peut être chargé par le consommateur. Même principe cependant. – MarcE

2

Vous ne pouvez pas les compiler dans un projet en soi. Vous pouvez obtenir quelque chose de proche en reliant les fichiers dans le projet afin qu'il y ait une version principale du fichier, mais chaque projet a aussi sa propre copie. Vous pouvez:

  • l'aide d'une fonction de partage de contrôle de code source pour avoir un endroit et de le partager dans les autres projets
  • Créer un projet pour les contrôles et les relient dans d'autres projets en utilisant « Ajouter un élément existant » , en cliquant sur la petite flèche à côté du bouton Ajouter et en sélectionnant "Ajouter en tant que lien".
+0

Je n'étais pas sûr d'utiliser 'ajouter en tant que lien' avec les commandes de l'utilisateur, mais ça l'a vraiment fait! – BornToCode

+0

@BornToCode et Chris, outre l'ajout en tant que lien, avez-vous besoin d'une autre étape? Asp.net ne trouve pas le contrôle au moment de l'exécution et il n'est pas présent dans le répertoire du nouveau projet. – Gilles

+0

@Gilles - Essayez de cliquer sur F4 dans l'explorateur de solution sur le lien que vous avez ajouté et modifiez la copie dans le paramètre de répertoire de sortie pour toujours copier. – BornToCode

Questions connexes