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.
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
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