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.

5voto

JaredPar Points 333733

D'après le message d'erreur, je ne pense pas que le chemin du fichier soit tronqué. Il semble simplement être incorrect. Si je lis correctement le message, il semble qu'il cherche le fichier DLL à ...

TRAVAIL=- \Tools\VersionManagementSystem\BusinessLogicLayer\bin\Debug\BusinessLogicLayer.dll

Ce n'est pas un chemin d'accès valide. Est-il possible que la définition d'une macro dans le processus de construction ait une valeur non valide ?

5voto

Code_Worm Points 846

J'ai rencontré le même problème. Dans mon cas, j'avais fait référence à un projet de bibliothèque de classes avec des valeurs plus élevées. Version .Net que mon projet et VS a échoué à construire le projet et a soulevé la même erreur que vous avez postée.

J'ai simplement mis Version .Net de mon projet de bibliothèque de classes (celui qui avait cassé la construction) identique à la version .Net du projet référencé et le problème est résolu.

4voto

wtjones Points 969

J'ai eu ce problème parce que .nuget\NuGet.exe n'était pas inclus dans mon référentiel. Bien que j'aie activé DownloadNuGetExe dans NuGet.targets, il a signalé une erreur de proxy lorsqu'il a essayé de le télécharger. Cela a fait échouer le reste des constructions du projet.

4voto

FLCL Points 1964

Cette erreur peut s'afficher si vous utilisez de faux assemblages. La suppression des assemblages factices permet de construire le projet avec succès.

4voto

DrBB Points 3

J'utilise Visual Studio 2013.

Il semble que les dépendances de construction étaient incorrectes. La suppression des fichiers *.suo a résolu les problèmes que j'avais.

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