2010-05-23 5 views
1

Est-il possible d'ajouter une classe en tant qu'élément de solution et de l'utiliser comme élément lié dans tous les projets de la solution?Éléments de solution dans Visual Studio 2005/2008

Fondamentalement, je pensais à créer une classe (qui héritera ConfigurationSection) et le garder comme l'élément de la solution. Je voulais l'ajouter en tant qu'élément lié dans tous les projets de la solution, afin que tout le monde puisse l'utiliser pour accéder aux propriétés de configuration. (Référez-vous à this tutorial pour plus de détails)

Maintenant le problème auquel je fais face est que quand je crée une classe dans l'élément de solution, il n'a aucun espace de noms. Et cela apparaît dans intellisense, à l'intérieur des projets mais une fois que je crée un objet de la classe d'item de solution, l'objet n'apparaît pas dans intellisense.

Des idées pourquoi?

Répondre

4

Vous feriez mieux de mettre votre classe dans une bibliothèque, puis les gens peuvent référencer votre bibliothèque et utiliser votre classe. Si vous utilisez la méthodologie de liaison, vous rencontrerez des problèmes lorsqu'un projet voudra en référencer un autre car vous aurez la même classe dans les deux projets dans le même nom - il ne compilera pas.

Mise à jour

Je peux voir de vos autres questions que vous souhaitez partager les paramètres de configuration via un fichier de configuration. Le partage du fichier de configuration par liaison est correct, il s'agit simplement d'un fichier texte brut, donc aucun problème de compilation. Cependant, je déconseille de partager le fichier de classe en utilisant cette méthode comme indiqué ci-dessus. Placez votre classe de configuration dans un projet de bibliothèque de classes que d'autres personnes peuvent référencer comme référence de projet - ils peuvent alors utiliser votre classe. Ajouter le fichier de configuration actuel (avec les paramètres) en utilisant la liaison. De cette manière, votre fichier de paramètres sera bien copié dans tous les projets, et les utilisateurs peuvent utiliser votre classe de paramètres de configuration en la référençant.

+0

Vraiment? Si vous consultez le tutoriel que j'ai mentionné dans la question. Il avait deux classes (AssemblyVersionInfo.cs et SharedAssemblyInfo.cs) ajoutées en tant que liens dans ses projets. – neebz

+1

Je suppose qu'ils ne sont pas des classes ... –

+0

merci. C'est exactement ce que je voulais faire. Actuellement à ma place, nous avions des gens créant des configSections séparées (et donc des gestionnaires séparés pour ces sections) pour chaque projet qui signifiait non seulement avoir du code de configuration réparti sur plusieurs projets mais parfois nous devions copier certains paramètres dans plusieurs configSections requis dans plus d'un projet. Votre solution a beaucoup de sens. Tout ce que j'ai besoin de savoir est comment créer une bibliothèque de classe maintenant :) – neebz

3

Oui.

Cliquez avec le bouton droit sur chaque projet, cliquez sur Ajouter, Ajouter un fichier existant, naviguez jusqu'au fichier, puis cliquez sur la flèche vers le bas en regard du bouton Ajouter et cliquez sur Ajouter en tant que lien.

Toutefois, il serait préférable de placer la classe dans un projet DLL référencé par tous les projets.

Questions connexes