Le projet A fait référence au projet B et le projet B fait référence à un DDL externe (restauré à l’aide de NuGet). La DLL doit être copiée dans le dossier bin du projet A (avec la DLL du projet B ):
Dans mon cas, lors de l’exécution du projet A , l’exception suivante est générée:
Impossible de charger le fichier ou l’ensemble ‘PostSharp, Version = 3.2.18.0, Culture = neutre, PublicKeyToken = b13fd38b8f9c99d7’ ou l’une de ses dépendances. Le système ne peut pas trouver le fichier spécifié.
- Lisez Introduction en C # – comment vous protéger contre cela?
- Comment implémenter un filtre personnalisé avec Lucene.net?
- Existe-t-il une solution de contournement pour la contrainte de type générique de «classe spéciale» Enum en C # 3.0?
- Signature des assemblages .NET
- Utiliser WebClient avec le proxy chaussettes
La DLL n’est pas copiée dans le chut du projet A. Toutes les autres références externes du projet B sont copiées parfaitement, ce qui est source de confusion pour moi.
Copy Local
est défini sur true pour toutes les références impliquées. Exemple:
Comment puis-je faire cela?
Remarque: Utilisation de Visual Studio 2013.
Les options que j’ai trouvées étaient les suivantes:
Je n’aime aucune des solutions ci-dessus. Ce sont des bidouilles à mon avis et ne feront que créer une solution plus intenable à long terme.
J’ai résolu le problème en utilisant un répertoire de sortie commun. Cela semble être une solution recommandée par beaucoup. J’ai également connu des temps de construction beaucoup plus rapides. Voir ce post Stackoverflow .
Lorsque j’ai rencontré ce problème, c’est parce que j’ai modifié le nom d’un projet, mais pas le nom de l’assembly. Il était identique au nom de l’assembly d’un autre projet de la solution.