Woslike
Messages postés46Date d'inscriptionmercredi 25 juillet 2012StatutMembreDernière intervention12 septembre 2013
-
6 févr. 2013 à 16:26
Woslike
Messages postés46Date d'inscriptionmercredi 25 juillet 2012StatutMembreDernière intervention12 septembre 2013
-
15 févr. 2013 à 15:32
Bonjour tout le monde,
J'ai créé dernièrement une DLL qui comporte deux fonctions qui permettent de crypter et décrypter une chaîne de caractère.
J'ai aussi créer un petit logiciel qui me permet de tester ma DLL et de l'utiliser, seulement, je suis obliger d'avoir ma dll avec mon exécutable pour que mon programme fonctionne.
J'aimerai n'avoir qu'un seul exécutable avec la dll intégré à l'exécutable. J'ai fais énormément de recherche, je n'ai rien trouvé qui me permet de faire cela... Quelqu'un pourrai m'aider ?
Je vous remercie d'avance pour vos réponses!
Voici le code de la DLL et le programme :
la DLL :
le Programme :
(il est très simple, il appel les fonctions "cryptage" et "decryptage" de la dll pour transformer les données de la textbox blanche vers la textbox grise)
A voir également:
C# include dll in exe
Visual studio include dll in exe - Meilleures réponses
yann_lo_san
Messages postés1137Date d'inscriptionlundi 17 novembre 2003StatutMembreDernière intervention23 janvier 201626 14 févr. 2013 à 21:07
Salut,
Voici les étapes à suivre :
1 : Faire un click droit sur le projet puis "ajouter un élément existant"
pointer sur la dll, elle s'ajoute au projet
2 : faire click droit dessus puis mettre "embeded resource" dans les proriétés
3 : Le programe devra rendre visible cette dll au clr (framework .net)
lors de l'exécution du programme. A cette fin, un évènement existe et permet de fournir les octets de l'assembly au moteur .net.
Donc, dans le construteur de ta Form principale, il faut ajouter l'évènement suivant :
using System.Reflection;
public frmMainMDI() // .Ctor du formulaire principal de l'app
{
InitializeComponent();
// Chargement différé de l'asm "Embeded Resource"
AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurDomain_AsmResolve);
}
4 : Fournir le callback afin de charger l'assembly "non résolu" par le clr (je rappelle que la ressource est nommée NAMESPACE.NOMASSEMBY.DLL)
cs_L0ci
Messages postés224Date d'inscriptionvendredi 26 novembre 2010StatutMembreDernière intervention11 juin 20137 6 févr. 2013 à 16:59
Bonjour,
Si ta dll est intégrée dans les références de ton projet elle devrait être incluse dans l'exe. Vérifie que dans les Actions de génération elle soit bien définie en "ressource".