45 votes

Où se trouve l'espace de noms Microsoft.VisualStudio.TestTools.UnitTesting sur VS2010 ?

J'ai converti une solution VS2008 qui contient certains projets de test unitaire en VS2010. Après la conversion, j'ai essayé de compiler la solution, mais je reçois l'erreur suivante:

Le type ou le nom de l'espace de noms 'VisualStudio' n'existe pas dans l'espace de noms 'Microsoft' (avez-vous oublié une référence d'assembly?)

La déclaration d'espace de noms ne peut pas être trouvée utilisation de Microsoft.VisualStudio.TestTools.UnitTesting;. De plus, je n'ai pas pu trouver l'assembly Microsoft.VisualStudio.QualityTools.UnitTestFramework lorsque j'ai essayé d'ajouter une nouvelle référence de projet.

Est-ce que quelqu'un sait ce que je fais de mal?

71voto

SLaks Points 391154

Cela s'appelle Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll.

Vous pouvez le trouver dans C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll.

22voto

Erik Brown Points 196

J'ai également eu ce problème, avec une bibliothèque Microsoft.Data.Schema. La réponse est correcte, ces bibliothèques sont bien présentes sur la machine et dans le répertoire de VS 10.0.

Le problème (du moins pour moi) était que la solution avait été convertie depuis VS2008 et l'outil de conversion avait ciblé le projet pour .NET 3.5. Étant donné que les bibliothèques 10.0 nécessitent .NET 4.0, elles ne sont pas prises en compte par le compilateur.

La solution est soit de revenir à l'utilisation de VS2008 où elles se résolvent correctement, soit de basculer le projet pour qu'il compile pour .NET 4.0 afin de pouvoir utiliser les bibliothèques disponibles.

4voto

nyet Points 53

Pour VSTS 2010, assurez-vous d'avoir ces références :

  • Microsoft.VisualStudio.QualityTools.UnitTestFramework

  • Microsoft.VisualStudio.QualityTools.WebTestFramework (si vous faites des tests Web)

0voto

Syed Salman Akbar Points 274

Veuillez télécharger et installer Visual Studio 2010 SP1. Une fois installé, vous pourrez modifier le framework du projet de test, passant du framework par défaut 4.0 à 3.5 ou autres. Il vous suffit de sélectionner le framework correspondant à celui du projet que vous souhaitez tester. Le code se combinera alors sans problème et vous pourrez exécuter le test.

0voto

activescott Points 4359

+Erik Brown a raison, le problème est que VS2010 prend en charge le ciblage de votre projet vers .NET 3.5 mais ne prend pas en charge les tests unitaires dans un projet .NET 3.5.

Cependant, comme il est logique de tester votre code sous un framework sur lequel votre code sera exécuté en production, il est souhaitable de faire fonctionner cela. Un moyen facile de faire fonctionner cela est d'utiliser NUnit à la place et d'utiliser Resharper pour exécuter les tests depuis Visual Studio ou le test runner NUnit. NUnit fonctionne avec .NET v2.x - v4.x avec un seul ensemble de binaires.

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