[TFS] MSBUILD : Logger error MSB4104: Failed to write to log file "C:\a\src\<Project>\<SolutionName>\<SolutionName>.log dans TFS

Grâce à Team Foundation Service disponible depuis peu, il est possible de faire de l’intégration continue directement via ce TFS online mais également de publier un site web sur Azure à chaque check-in.

Cette étape se fait en quelques clicks et est très simple à mettre en place.

La mise en place d’intégration continue sur Azure ou sur un TFS classique peut reserver quelques surprises et notamment l’erreur suivante lors de la build :

MSBUILD : Logger error MSB4104: Failed to write to log file "C:\a\src\ICTest\ICBuildTest\ICBuildTest.log

Voici l’explication et l’une des causes de cette erreur :

Dans ma solution qui se nomme “ICBuildTest”, j’ai un projet Azure avec un Web role qui se nomme “ICBuildTest.Web” :

Services

Lorsque cette solution est envoyée sur le TFS, la build automatique se déclenche et se termine avec succès.

Build status Je rajoute ensuite un projet de type class contenant ma brique de log qui se nomme “ICBuildTest.Log”.

Project La build se lance à nouveau mais cette fois-ci se termine en erreur au bout de 63 secondes.

My builds Le detail de l’erreur indique un accès refusé sur le fichier de log de MSBUILD qui se nomme “ICBuildTest.log” et qui se trouve à la racine de ma solution.

Error En conclusion, MSBUILD essaie d’ouvrir un répertoire en tant que fichier.

Pour résoudre ce problème, il faut renommer le projet en “ICBuildTest.Logging” par exemple ou modifier le nom du fichier de log de MSBUILD.


Voir également