Hello,
J'ai deux applis qui utilisent des classes communes. Les deux applications sont dans une unique solutions, mais où mettre les classes en question sans les dupliquer ?
Et comment y accéder ?
Merci.
Hello,
J'ai deux applis qui utilisent des classes communes. Les deux applications sont dans une unique solutions, mais où mettre les classes en question sans les dupliquer ?
Et comment y accéder ?
Merci.
Tout simplement dans un 3ième projet "Bibliothèque de classes" dont tu ajoutes la dll aux références des 2 autres projets
Euh... Question idiote...
Comment crée-t-on les DLL ?
ouiEnvoyé par oodini
En fait lorque tu fais ta génération/compilation, ta dll est crée dans le dossier bin donc lorsque tu fais > Ajouter références Tu dois avoir un onglet qui liste tes projets récents, sinon tu parcours jusqu'au dossier bin de ta ClassLibrary pour y trouver cette dllEnvoyé par oodini
En fait, il s'agit d'un contrôle.
J'ai fait comme tu dis, mais lors de la génération, ça couine sur les using System.Graphics et System.Windows
Il y a autre procédure, pour les contrôles ?
C'est malin tu aurais pû le dire plus tôtEnvoyé par oodini
Bon c'est un projet Librairie de Contrôles donc qu'il faut créer pour le reste rien ne change
Remarques, en fait il te manque simplement les références à System.Drawing et System.Windows.Forms qu'il fallait juste ajouter
J'avais finalement trouvé avant que tu répondes.
Mais merci tout de même. :-)
Cela dit, il se passe un truc étrange. Mon code commence par :
La classe YaTabControlDesigner dérive de ControlDesigner, mais j'obtiens l'erreur suivante quand j'essaye de générer :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 using System; using System.Collections; using System.ComponentModel; using System.ComponentModel.Design; using System.Drawing; using System.Windows.Forms; using System.Windows.Forms.Design; namespace ControlesCommuns.UI.Controls.Design { /// <summary> /// Provides a custom <see cref="ControlDesigner"/> for the /// <see cref="YaTabControl"/>. /// </summary> public class YaTabControlDesigner : ControlDesigner { /// <summary> /// Creates an instance of the <see cref="YaTabControlDesigner"/> class. /// </summary> public YaTabControlDesigner() {} ...
Erreur 7 Le type ou le nom d'espace de noms 'ControlDesigner' est introuvable (une directive using ou une référence d'assembly est-elle manquante ?)
Or, ControlDesigner est dans System.Windows.Forms.Design, qui est bien déclaré dans les using...
D'ailleurs, quand je préfice ControlDesign par son espace de nom, ça ne marche pas non plus...
Ce code marchait avant que je tente de le sortir d'une application.
Bon, je viens de découvrir que dans .Net, il faut faire référence aux espaces de noms ET aux assemblages. :-)
J'ai d'autres soucis dûs à cette migration, mais en voilà déjà un de réglé...
Oui cela ressemble aux petites bizarrerie du designer VS, tentes ceci
normalement c'est pareil pour tout ce qui se passe dans la méthode InitializeComponent
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 public class YaTabControlDesigner : System.Windows.Forms.Design.ControlDesigner {
Non, justement, ça ne marchait pas non plus.
Il fallait que je pointe dans les références System.Design.
Les using ne suffisent pas.
Sinon, une autre bizarrerie.
Le répertoire physique dans lequel était stocké mon application avait un nom différent de celui du nom du projet. Leur donner le même nom a supprimé des avertissements qui à mon sens n'avaient rien à voir...
Merci pour tout !
PS : au fait, il existe un bouquin sur Visual Studio, plutôt que sur .Net ??
en attendant un bouquin il y a toujours au moins Visual Studio 2005Envoyé par oodini
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager