2009-04-07 10 views
5

J'ai un problème très étrange qui me arrive pendant les tests unitaires (MSTest dans Visual Studio - .NET 3.5 SP1):problème de charge de l'assemblage Debugging

  1. Je clique sur "Exécuter tous les tests en solution"
  2. Tous passe les tests, à l'exception de pour une classe particulière, où chaque test renvoie l'exception suivante: "System.IO.FileLoadException: le chargement de cet assembly produirait un ensemble de droits différent à partir d'autres instances. (Exception de HRESULT: 0x80131401)."
  3. Je vais ensuite définir un point d'arrêt dans la classe. Résultat: tous les tests de la classe réussissent (les mêmes tests qui ont échoué auparavant).
  4. Je clique sur "Exécuter tous les tests dans la solution". Tous les tests réussissent, à l'exception de une autre classe.
  5. Je vais définir un point d'arrêt dans la classe. Résultat: tous les tests de la classe passent
  6. Je clique sur "Exécuter tous les tests dans la solution". Tous les tests réussissent, à l'exception du premier testclass.
  7. etc.

Comme vous pouvez voir le problème est très contradictoire, ce qui rend difficile à déboguer.

J'ai essayé d'utiliser Fusion Log Viewer, mais cela m'a donné des résultats confus que je n'ai pas bien compris.

Que dois-je rechercher? Est-ce que quelqu'un d'autre a connu ce problème?

Mise à jour: Des informations supplémentaires ont été demandées.

Les tests ont bien fonctionné pendant des mois - je pense que la dernière fois que je les ai courus était jeudi, et puis ils se sont bien déroulés. J'ai essayé d'examiner l'histoire de contrôle de source, pour voir si quelque chose a changé, mais rien hors de l'ordinaire.

je pouvais suivre en arrière et vérifier le projet à différents jours dans le temps, mais nous utilisons Safe visuel Source (je sais - pas mon descission :-(). Donc je hésite à le faire

Les tests sont des tests unitaires réguliers, et j'utilise Moq pour les faux-objets ... Mais comme je l'ai dit, ça a bien fonctionné jusqu'à récemment.

Répondre

2

Nous avons également rencontré ce problème, bien qu'il ne soit survenu sur notre serveur de construction (où nous avons installé VS2008 pour utiliser MSTest avec MSBuild), pas localement.Nous avons installé this hotfix dans la version de VS2008 sur le serveur de génération et cela a éliminé ce problème.

1

Apparemment, il s'agit d'un bug.Vous l'avez déjà trouvé, mais juste au cas où, voici un lien:

http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=95157

Espérons que cela aide.

+0

J'ai trouvé cette page et j'ai essayé d'implémenter certaines des solutions de contournement, et cela n'aide pas. En outre, le bug est décrit comme un problème de 2.0 - J'utilise 3.5 SP1, donc le bug devrait être corrigé? – toxvaerd

+0

Pourriez-vous nous en dire plus sur le test et le code testé? Toutes les infos je peux trouver des points au bogue, ou en redémarrant le serveur, supprimant des dossiers temporaires etc. Le test peut fonctionner sous un contexte différent ou un utilisateur, avec moins d'autorisations, désolé si cela est évident. –

0

Le problème décrit ici ne se produit que sur ma machine. J'ai essayé de purger mes paramètres VS2008, en désactivant tous les compléments et en vérifiant le projet sur un emplacement différent, mais aucun ne fonctionnait. En ce moment je pense que la dernière solution possible avant un reformatage de la machine est la réinstallation de VS2008, pour laquelle je n'ai pas le temps pour le moment, donc je vais juste devoir vivre avec le problème pour l'instant.