3

J'utilise VS2010 RC tout en ciblant .NET 3.5. Je peux exécuter l'analyse de code via Visual Studio sans problème. Cependant, lorsque j'essaie d'exécuter l'analyse de code sur notre serveur CI, il n'est pas exécuté. Lorsque je tente de générer à l'aide de msbuild 4.0, j'obtiens l'exception suivante:J'ai du mal à exécuter l'analyse de code à partir de l'invite de commande avec msbuild

C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ CodeAnalysis \ Microsoft.CodeAnalysis.targets (129,9): erreur MSB4018: La tâche "CodeAnalysis" a échoué de manière inattendue.

C: \ Fichiers programme (x86) \ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ CodeAnalysis \ Microsoft.CodeAnalysis.targets (129,9): erreur MSB4018: System.TypeLoadException: Impossible de charger le type 'Système. Runtime.Versioning.TargetFrameworkAttribute 'de l'assemblage' mscorlib, Version = 4.0.0.0, Culture = neutre, PublicKeyToken = b77a5c561934e089

Comme je l'ai dit, cela fonctionne très bien quand je l'exécute à travers VS.

+0

Il se trouve que la machine de construction est toujours en cours d'exécution .NET 4 beta 2 au lieu de rc (ce qui est ce que les DLL ont été construits avec). Je vais essayer de mettre à niveau et de voir si cela résout. – devlife

+0

J'ai passé beaucoup de temps là-dessus aujourd'hui et il y a plusieurs choses qui doivent arriver. Le premier est que vous devez passer dans/p: FxCopDir = "chemin vers le répertoire FxCop". Ce répertoire contient tous les fichiers FxCop, y compris les DLL exe et requises utilisées lors de l'analyse du code. Lorsque VS est installé, tout fonctionne correctement grâce à l'installation de création d'entrées de registre. Pour contourner cela, vous devez modifier C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v10 \ CodeAnalysis \ Microsoft.CodeAnalysis.Targets et supprimer les dépendances sur le registre. – devlife

Répondre

0

Vous aurez des moments difficiles à configurer cela ...

J'installer VS2010 sur le serveur de build. Problème résolu.

Note:
Le serveur de build devrait être une réplication de votre environnement de développement (pas de l'environnement de production)

+0

Vous êtes la première personne que j'ai jamais entendu dire que Peter. Pourquoi pensez-vous qu'un environnement de construction devrait répliquer un serveur de dev au lieu d'un environnement prod? – devlife

+4

Un serveur de génération est utilisé pour compiler votre source (fichiers texte) dans des fichiers exécutables, puis exécuter des tests sur ceux-ci. C'est ce que fait une machine de développement. Un environnement de production (serveur) exécute simplement l'application finale sans compiler, tester, analyser le code, etc ... Qu'en pensez-vous? –

Questions connexes