2017-08-03 3 views
0

Nous avons récemment mis à jour à Jenkins 2.60.1 et maintenant notre build ci pour notre application .NET échoue en raison du manque Microsoft: Fakes ensemblesMSBuild ne en raison du manque Fakes

ApiControllerUnitTest.cs (20,30) : erreur CS0234: le type ou l'espace de noms nom 'Fakes' n'existe pas dans l'espace de noms 'Domain' (vous manque une référence d'assembly?) [e: \ jenkins \ workspace \ proj \ ci \ Web \ Web.Test \ Web.Test.csproj] ApiControllerUnitTest.cs (31,21): erreur CS0234: Le type ou le nom de l'espace de nommage 'QualityTools' n'existe pas dans l'espace de noms 'Microsoft' (manque-t-il une référence d'assembly?)

De plus la construction, j'ai remarqué les avertissements suivants:

23> C: \ Program Files (x86) \ MSBuild \ 12.0 \ bin \ Microsoft.Common.CurrentVersion.targets (1697, 5): warning MSB3245: Impossible de résoudre cette référence. Impossible de localiser l'assembly "Domain.Fakes". Assurez-vous que l'assemblage existe sur le disque . Si cette référence est requise par votre code, vous pouvez obtenir des erreurs de compilation . [e: \ jenkins \ workspace \ proj \ ci \ Web \ domain.test \ Domain.Test.csproj]

Notre dernière construction réussie avait les éléments suivants dans le journal:

25> BuildFakesAssemblies: Domain.Fakes - e: \ jenkins \ workspace \ proj \ ci \ Web \ domain.test \ FakesAssemblies \ Domain.Fakes.dll

Notre dernière version après la mise à niveau n'exécute la tâche BuildFakesAssemblies dans MSBuild, ce qui est logique pourquoi les assemblages manquent b parce qu'ils ne sont pas créés via cette tâche. Rien n'a changé dans ce projet entre la dernière version réussie et la version défaillante actuelle.

J'ai ouvert une session sur notre serveur de construction et j'ai remarqué que notre licence pour VS Studio 2013 Premium avait expiré. Je sais que vous avez besoin de Premium ou Ultimate pour profiter de Fakes, mais je n'étais pas sûr si cela était nécessaire sur un serveur de construction où MSBuild est exécuté à partir de la ligne de commande via Jenkins sur cette boîte. Quelqu'un at-il rencontré cette erreur ou savez-vous si vous avez besoin d'une installation sous licence valide de VS Studio sur votre serveur de compilation pour compiler des assemblys Fakes?

Répondre

0

Notre administrateur vient d'ajouter une licence temporaire et maintenant notre build fonctionne à nouveau. En résumé, il semble que vous ayez besoin d'une instance de VS Studio Premium 2013 ou Ultimate 2013 sur le serveur de build avec une licence valide pour que MSBuild génère des assemblages Fakes.

Il semble ridicule d'avoir à installer VS Studio lors de l'exécution de MSBuild à partir de la ligne de commande, mais c'est la seule façon dont cela semble fonctionner pour nous.

+0

Oui, il faut au moins VS Enterprise. – benjymous