Bonjour.
J'ai pour habitude de développer des "librairies" en csharp que je partage entre différents projets (exemple: manipulation de fichiers INI, etc).
C'est très souvent déclaré ainsi LibMachin.cs :
Pratique pour avoir du code réutilisable sans avoir à se trimbaler une DLL.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 static class LibMachin { public static void DoAction() { } }
Jusque là pas de problème.
J'ai un gros projet qui se compose d'un EXE qui fait référence à un assembly dans une DLL.
Aussi bien dans le projet de l'EXE que dans la DLL, j'ai ajouté au projet le fichier LibMachin.cs car j'ai besoin aussi bien dans l'un que dans l'autre de certaines de ses fonctions.
Mon problème est en debug de l'EXE.
Il n'est plus capable d'évaluer les expressions et j'ai le message :
Cela ne plante pas mais cela met en lumière que mon architecture de partage de code est imparfaite.Le type 'MesLib.LibMachin' existe dans 'MonProg.exe' et dans 'MonAssembly.dll'.
Notons que je n'ai pas envie de déplacer mes Lib dans un assembly DLL.
Y a t-il une déclaration à faire dans ma LibMachin pour qu'elle ne soit pas visible "en dehors du projet" ? J'ai essayé "internal", cela ne change pas.
Private n'est pas possible pour du static.
Bref, j'en appelle aux architectes du code source.
Merci !
Partager