J'ai un projet de bibliothèque de classes que j'ai fait. Appelons-le ClassA. En ClassA j'ai besoin d'accéder à certains outils qui résident dans dll (ToolsDLL.dll).Pouvez-vous regrouper des DLL ensemble?
Dans ClassA j'ai ajouté ToolsDLL.dll au projet et sélectionné le fichier ToolsDLL.dll pour copier dans le répertoire de sortie TOUJOURS. Donc, cette bibliothèque construit et compile juste bien et dans le répertoire de sortie je vois ClassA.dll avec ToolsDLL.dll
Ensuite, je veux écrire une application, disons App_A qui utilise les méthodes de ClassA. Ainsi, dans mon projet App_A, j'ai ajouté une référence à ClassA.dll afin que je puisse accéder à son espace de noms. Tout est bien et bon, ça construit/compile. Le problème est dès que j'exécute App_A et il arrive à un point où ToolsDLL.dll doit être utilisé, il lève une exception "Impossible de charger ToolsDLL.dll Je ne comprends pas comment il est possible qu'il Je ne trouve pas cette DLL car il se trouve dans le même répertoire que ClassA.dll
J'ai trouvé que si je mets ToolsDLL.dll dans le répertoire de sortie de App_A cela fonctionne très bien. De toute façon, ToolsDll.dll peut être en quelque sorte livré avec ClassA.dll, car mes clients vont écrire leurs propres applications similaires à AppA et ce serait bien s'ils devaient seulement référencer un fichier dans leur projet et non plusieurs
Il semble que ILMerge ne peut être utilisé que sur un assemblage .Net. Est-ce exact. Dans mon cas, ToolsDLL.dll m'a été fourni par une fabrication de puces. Je ne sais pas s'il s'agit d'un assemblage .net ou non. Est-ce que ça compte? – PICyourBrain
Oui, je crois que cela ne fonctionne que pour les assemblages .NET. Afin de comprendre quel genre de '.dll' vous avez, peut-être pourriez-vous utiliser le.Utilitaire NET SDK 'ildasm', pour essayer de désassembler' .dll'. S'il s'agit d'un assemblage .NET, cela devrait fonctionner; s'il contient du code natif, 'ildasm' devrait échouer. – stakx
J'ai remarqué dans Visual Studio si je vais dans ToolsDll.dll -> Properties il y a une propriété appelée Action. Puis-je simplement définir ceci sur Embedded Resource? – PICyourBrain