2010-12-14 8 views
3

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

1

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.

+2

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

+0

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

+2

Est-ce que cela est du tout lié à la question d'origine? Google 'ilmerge' –

1

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.

0

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.

Questions connexes