927 votes

Le fichier de métadonnées '.dll' est introuvable.

Je travaille sur un projet WPF, C# 3.0, et j'obtiens cette erreur :

Error 1 Metadata file
'WORK=- \Tools\VersionManagementSystem\BusinessLogicLayer\bin\Debug
\BusinessLogicLayer.dll' could not be found C:\-=WORK=- \Tools
\VersionManagementSystem\VersionManagementSystem\CSC VersionManagementSystem

C'est ainsi que je référence mes contrôles d'utilisateur :

xmlns:vms="clr-namespace:VersionManagementSystem"
<vms:SignOffProjectListing Margin="5"/>

Cela se produit après chaque échec de la compilation. La seule façon d'obtenir la compilation de la solution est de commenter tous mes contrôles utilisateur et de recompiler le projet, puis de décommenter les contrôles utilisateur et tout va bien.

J'ai vérifié les ordres de construction et les configurations des dépendances.

Comme vous pouvez le voir, il semble avoir tronqué le chemin absolu du fichier DLL... J'ai lu qu'il y avait un bug avec la longueur. Est-ce un problème possible ?

C'est très ennuyeux et le fait de devoir commenter, construire et décommenter la construction devient extrêmement fatigant.

12 votes

J'ai eu un problème similaire (obtenir la même erreur que celle indiquée dans le titre) et je l'ai résolu en nettoyant et en reconstruisant le projet. Pour référencer correctement d'autres projets, je n'ai aucune idée

7 votes

J'ai marqué la réponse de Matt car elle semble avoir fonctionné pour la plupart des gens, mais elle n'a pas résolu mon problème initial. Je pense toujours que le problème est lié à la limite maximale de chemins d'accès de Windows. Voir ma réponse ci-dessous.

1voto

Nick Points 8126

Aucune des solutions précédentes n'a fonctionné pour moi, je vais donc partager ce qui a fonctionné.

J'ai eu ce problème après avoir fusionné de nouvelles bibliothèques de classes d'une autre branche qui se référaient les unes aux autres. En supprimant les références dans les projets et en les recréant, j'ai finalement résolu le problème. Apparemment, Visual Studio avait fusionné les mauvais chemins de fichiers.

1voto

Hassan Malik Points 509

Ce problème peut être dû à une erreur de syntaxe dans votre code, qui peut ne pas être visible pour vous en raison de l'erreur de métadonnées. Vérifiez donc votre fichier source avant d'effectuer l'une des actions décrites dans les réponses précédentes.

1voto

Pour moi, le problème était que j'avais deux fenêtres Visual Studio ouvertes, mon projet fonctionnait en débogage dans une fenêtre, et j'ai essayé de le construire dans une autre.

J'ai dû arrêter le débogage et ensuite j'ai pu construire avec succès.

1voto

Joe Dyndale Points 600

Dans mon cas, j'ai obtenu ce message d'erreur pour la simple raison que, après avoir obtenu la dernière version du projet à partir de TFS, le mauvais projet dans la solution a été marqué comme le projet de démarrage. Le choix du bon projet comme projet de démarrage a résolu le problème pour moi.

1voto

Pawel Points 421

J'ai eu le même problème dans VS2019. Voici ce que vous devez faire :

  1. Pousser les derniers changements sur une branche
  2. Supprimer le projet
  3. Supprimer le projet de QuickStart - vous pouvez essayer de référencer un projet non existant et il vous demandera de le supprimer.
  4. Cloner le projet
  5. Exécuter le projet

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X