Projet de test d'unité ne peut pas trouver de l'assemblée en vertu de l'essai (ou dépendances)
Lorsque j'essaie d'exécuter mon projet de Test d'Unité, j'obtiens l'erreur suivante:
Impossible de charger le fichier ou l'assembly 'ASSEMBLY_NAME, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' ou une de ses dépendances.
Le système ne peut pas trouver le fichier spécifié.
L'assemblée en vertu de test se trouve dans la même solution, et chaque cible du projet .NET framework 4.0.
Il a travaillé pendant un certain temps, mais aujourd'hui j'ai eu cette erreur à nouveau.
Je ne peux pas comprendre ce qui est faux, car le message d'erreur ne m'en dit pas assez. (comme; le fichier n'a pas pu être trouvé..)
J'ai essayé d'ajouter un nouveau projet de Test, mais aussi que l'on a travaillé pendant un certain temps avant qu'elle m'a donné ce même message d'erreur.
Est qu'il ya quelqu'un qui peut me pointer dans la bonne direction?
Edit: Dans le diagnostic du journal de génération, l'erreur suivante s'affiche:
C:\Program Files\MSBuild\Microsoft\VisualStudio\v10.0\TeamTest\
Microsoft.TeamTest.targets(14,5):
error : Could not load file or assembly 'ASSEMBLY_NAME, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null' or one of its dependencies.
The system cannot find the file specified.
Done executing task "BuildShadowTask" -- FAILED. (TaskId:671)
Done building target "ResolveTestReferences" in
project "ASSEMBLY_NAME.Tests.vbproj" -- FAILED.: (TargetId:985)
OriginalL'auteur Rhapsody | 2011-11-03
Vous devez vous connecter pour publier un commentaire.
Après vérification de certains résultats de recherche je suis tombé sur cette question d'ici à SA Accesseur privé pour la méthode n'est pas trouvée .
Après j'ai supprimé l' *.accesseur de fichier, mon projet de test cessé de se plaindre et compilé avec succès.
Tout le monde merci pour leur aide!
J'ai remarqué cela comme une solution à l'erreur. Mais maintenant, tous mes tests que invoqué que accesseur de la plus de la compilation.
OriginalL'auteur
Vérifier
Build->Configuration Manager...
menu. Tous les projets doivent avoir la même plate-forme et de la colonneBuild
vérifié.Aussi, vous pouvez prendre un coup d'oeil dans la sortie de la compilation (
Output
fenêtre), il énonce généralement plus clairement le fichier n'a pas pu être trouvé.Dans Outils > Options > Projets & Solutions > Build et Run, vous pouvez définir projet MSBuild construire de sortie de verbosité Détail ou de Diagnostic pour vérifier ce ResolveAssemblyReferences les cibles sont en train de dire.
Malheureusement, le journal de diagnostic ne me dites pas quelque chose de nouveau. Exactement le même message d'erreur sans plus (utile) de détails.
J'ai essayé de reproduire le problème, en cas de
assembly or dependency was not found
j'ai le texte suivant dans la fenêtre de sortie:error CS0006: Metadata file '{FULL_ASSEMBLY_PATH}' could not be found
. Assurez-vous queshow output from : Build
est sélectionné.malheureusement, les mots clés "CS0006', 'Métadonnées' et 'n'a pas Pu être trouvée" n'apparaissent pas dans la sortie du journal (avec construction sélectionnée). Merci beaucoup pour essayer de reproduire le problème, si!)
OriginalL'auteur
Il ya une erreur commune sur l'exécution des tests unitaires : l'exécution du dossier.
Êtes-vous sûr de votre unité de test est en cours d'exécution dans le bon dossier ? Pas dans le célèbre obj dossier ?
Dans le obj dossier, n'ont généré que des assemblées sont copiés, pas de dépendances -même copie locale vrai.
Donc, si votre test est lancé à partir de ce dossier, toutes les dépendances manquantes.
Ce pourrait être mon problème, mais comment fait-on modifier le "test en cours d'exécution/lancement de dossier"?
Dans la plupart des cas, le test runner (MSTest, NUnit...) les processus de tests unitaires dans un dossier. Vérifier que le test runner ligne de commande dans les journaux. Une erreur commune est d'avoir un indéfini dossier de test qui implique, pour exécuter TOUS les tests trouvés dans la solution et de ses sous-répertoires. Ex pour MSTest : msdn.microsoft.com/en-us/library/ms182489.aspx. Définir le dossier de test est une autre question, cela dépend du produit d'exécuter les tests et le contexte d'exécution.
OriginalL'auteur
J'ai essayé tous les ci-dessus, en vain. Enfin, dans le csproj j'ai changé
à
sur les références et tous les tests passés.
OriginalL'auteur
S'assurer que les Dépendances > Modifier les Références > Project (projet) est sélectionné et pas .net le Montage du projet
OriginalL'auteur
Peut-être permettant à l'assemblée de chargement de journalisation peut vous donner un indice sur le pourquoi de votre assemblée ne peut pas être chargé.
http://msdn.microsoft.com/en-us/library/e74a18c4.aspx
Avez-vous activé l'assemblée chargement journal? Son désactivé par défaut
Après un deuxième départ (et l'enregistrement activé) j'ai pu voir quelques traces. Je n'ai pas trouvé quelque chose d'utile pour l'instant, mais je continue à chercher.
OriginalL'auteur
J'ai eu le même problème et a trouvé que la copie de la dll dans le GAC a résolu le problème. Même si je ne comprends toujours pas pourquoi il n'utilise pas les projets référencés assemblées.
OriginalL'auteur
Une autre cause possible est que si le nom de l'assemblage de l'unité de test du projet est d'utiliser le même nom que l'assemblée en vertu de l'essai. (c'est à dire faire en sorte que votre appareil de test, le nom d'assembly est unique).
OriginalL'auteur
Références->Marque de dll->clic droit->propriétés->Copie Locale définie à true
OriginalL'auteur