J'utilise des DLL dans mon projet. Pour créer un fichier '.exe', je n'ai utilisé que 'Released' dans les configurations de solution. Dans mon ordinateur, le fichier exe fonctionne, mais dans un autre, il y a une erreur: "Impossible de charger le fichier X ...". X est un fichier dll. Comment puis-je résoudre ce problème? J'ai copié toutes les DLLs dans project-bin-realese.C# créer ".exe" avec les bibliothèques
Répondre
Copiez les DLL dans le même dossier que le fichier EXE. Si vous les placez dans un sous-répertoire, vous devrez utiliser l'élément <probing>
dans un fichier app.exe.config pour que le CLR puisse les trouver.
Si vous n'avez pas besoin de la dépendance sur la DLL, cliquez dessus avec le bouton droit de la souris sous "Références" dans votre projet et supprimez-le. Si vous avez besoin de la dépendance, alors il faudra aller sur les autres ordinateurs avec le fichier EXE.
Les réponses ci-dessus sont génériques pour le chargement de bibliothèques de dépendances. Cependant, cela peut aussi dépendre de la façon dont l'exe charge les bibliothèques. Par exemple, MEF dispose d'un moteur DI pour charger les bibliothèques de catalogue à partir d'un dossier spécifique. Si les bibliothèques requises ne sont pas présentes, vous pouvez obtenir une exception similaire. Vérifiez votre exigence .exe pour ses dépendances spécifiques.
Je l'ai dans le même répertoire, mais je veux utiliser mon application dans un autre ordinateur, donc je veux seulement utiliser le fichier exe. Que devrais-je faire? – user449921
Vous pouvez intégrer les DLL dans le fichier exécutable en utilisant un outil tiers tel que SmartAssembly ou DeepSea ou vous pouvez fusionner les assemblages en utilisant la fusion IL. Vous pouvez également créer un outil de configuration et le déployer, ou utiliser le déploiement ClickOnce. – Guy
Est-ce que cela est du tout lié à la question d'origine? Google 'ilmerge' –