2010-01-20 14 views
6

Nous utilisons TeamBuild et testons notre build d'intégration continue depuis environ 4 mois et ce problème est apparu l'autre jour dans l'un de nos assemblages de test lors des tests sur un de nos tests assemblées sur le serveur de construction uniquement. {NameSpace} .Order_Accessor, Version = 0.0.0.0, Culture = neutre, PublicKeyToken = '{xxx}' ou l'une de ses dépendances. Le système ne peut pas trouver le fichier spécifié.Team Build: Impossible de trouver l'accesseur privé généré

Ce n'est pas causé par des problèmes avec Publicize.exe noté ailleurs. Les tests unitaires s'exécutent correctement localement et l'assembly généré est créé.

La partie qui prête à confusion est que nous utilisons des assembleurs d'accesseurs privés générés dans de nombreux projets, y compris celui avec ce problème ci-dessus sans aucun problème. En étudiant ce problème plus loin, l'assembly généré ne sera jamais copié dans le répertoire TestResults // Out qui semble être le problème. J'ai déterminé que c'était le problème en ajoutant l'assembly de SolutionRoot en utilisant les paramètres de déploiement TestRunConfig qui résulte en un manifeste d'assembly ne correspond pas à l'erreur.

Je me demande si quelqu'un a eu des problèmes avec ces assemblages copiés correctement. Nous utilisons TeamSystem 2008 sur Windows Server 2008 si cela peut vous aider.

Ci-dessous est l'erreur de déploiement de test pour le fichier en question et Run a la question suivante (s):

TESTTOOLSTASK: avertissement: Test d'exécution problème de déploiement: Impossible d'obtenir le fichier pour l'élément de déploiement ' E-mail Templates \ OrderConfirmation.txt '(répertoire de sortie' E-mail Templates ') spécifié par le test' EmailServiceTest.EnqueueTest ': System.IO.DirectoryNotFoundException: Impossible de trouver une partie du chemin' Intégration Continue Build \ Binaries \ Test d'intégration continue \ Modèles de courrier électronique \ OrderConfirmation.txt '.

TESTTOOLSTASK: avertissement: Problème de déploiement de test: Impossible d'obtenir le fichier pour l'élément de déploiement 'Modèles de courrier électronique \ OrderConfirmation.htm' (répertoire de sortie 'Modèles de courrier électronique') spécifié par le test 'Email.Tests. EmailServiceTest.EnqueueTest ': System.IO.DirectoryNotFoundException: Impossible de trouver une partie du chemin' Intégration continue Build \ Binaires \ Test d'intégration continue \ Modèles de messagerie \ OrderConfirmation.htm '

TESTTOOLSTASK: warning: Test Exécution du déploiement Problème: L'assembly ou le module 'Services.Order_Accessor' référencé directement ou indirectement par le conteneur de test '\ intégration continue build \ binaires \ test d'intégration continue \ services.order.supplierintegration.tests.dll' n'a pas été trouvé.

Répondre

4

On dirait que votre déploiement TestRunConfig attend à ce que les fichiers sont en « Intégration continue Construire \ Binaires \ »

J'ai mis en évidence la partie « Binaires » pour une raison. C'est un dossier qui pointe vers la propriété $ BinariesRoot (sauf si elle est surchargée), et il est utilisé par le compilateur. Par conséquent, je vous suggère de double vérifier que:

  1. L'outil Publicize (ou tout autre outil que vous utilisez pour générer les ensembles) est configuré pour copier la sortie dans ($BinariesRoot)Continuous Integration Test
  2. Il existe des dispositions dans la construction de l'équipe tapez pour copier les fichiers .htm et .txt à ($BinariesRoot)Continuous Integration Test