2009-11-05 4 views
4

Il existe un bogue/une fonctionnalité dans Visual Studio 2010 dans lequel vous ne pouvez pas créer un projet de test unitaire avec le 2.0 CLR.Tests unitaires Projets .NET 3.5 utilisant MStest dans VS2010

https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=483891&wa=wsignin1.0

Cela provoque toutes sortes de problèmes lorsque le projet est en cours de test 2.0 CLR ciblage (ASP.NET MVC 2 sur .Net 3.5 SP1 dans ce cas) - accidents sur le débogage, les tests ne inopinément , dans un cas, le projet de test ne construit même pas en raison de la dépendance à System.Web 2.0.0.0 qui n'est pas disponible dans les projets ciblant 4.0.

Il n'est pas possible de modifier le projet de test pour cibler le framework 3.5.

Est-ce que quelqu'un sait d'une solution de contournement?

Contournements Je suis au courant, mais veulent éviter, notamment: -

1) Mise à niveau de la solution complète pour cibler .NET 4
Je veux accueillir sur Azure et il est pas clair à ce point si/quand le support pour .NET 4.0 sera ajouté. Voir .NET 4.0 on Windows Azure?

2) Rouler l'ensemble du projet de retour à Visual Studio 2008
Ceci est un dernier recours car il y a un certain nombre de fonctionnalités en 2010 que je veux vraiment utiliser

3) Construire les tests unitaires 2008 et gestion manuelle des références
Cela fonctionnera, mais ce sera une douleur énorme.

Des idées?

+0

VS2010 est toujours BETA - J'espère que vous jouez avec des fonctionnalités - et ne pas construire un vrai projet de production là-bas. Juste un conseil .... – Dani

+0

C'est un projet de jouet, d'où le désordre avec la technologie. Cependant, j'envisage de le transformer en application de production une fois qu'Azure sera disponible. –

+1

Dans ce cas, ma réponse serait 1, en essayant d'obtenir une note des gens MS sur la conformité Azure à. NET 4.0 sachant comment ils fonctionnent habituellement, si ce n'est pas ici, il sera bientôt ici. – Dani

Répondre

3

Il ressemble à Visual Studio 2010 Service Pack 1 will resolve this une fois qu'il est libéré (voir la rubrique «Un meilleur support de la plate-forme | Test Unit sur .NET 3.5)

Vous pouvez obtenir la version bêta avec un Go-Live licence maintenant ...

+0

Eh bien j'ai SP1 installé, et mon projet de test ne sera toujours pas convertir en 3.5. – brianary

+0

@brianary voir ce lien: http://msdn.microsoft.com/library/gg601487.aspx#re-targeting35AdditionalSteps –

3

Vous n'avez pas suggéré de passer à un environnement de test différent. Personnellement, j'utilise NUnit et l'ai depuis des années. C'est beaucoup plus sophistiqué que les choses en 2008. Je n'ai pas eu le temps de voir ce qui a changé en 2010, mais je ne peux pas voir MS rattraper si vite.

+2

J'évite actuellement NUnit car j'apprécie beaucoup plus l'intégration VS de mstest que les fonctionnalités supplémentaires de NUnit (et je n'ai pas R # dans mon environnement actuel). En outre, j'ai déjà des projets de test les plus importants; Je dois les porter. –

Questions connexes