Cruise Control .Net exception escribiendo msbuild-results.xml

Tengo un server de control de crucero que ejecuta una compilation en una máquina virtual. Todo lo que hice fue cambiar el control de fuente de Perforce a Git, y la construcción ahora está fallando.

CCNet Config

<tasks> <msbuild> <executable>C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe</executable> <workingDirectory>c:\Build\Pcp_Main</workingDirectory> <buildArgs>/v:d Pcp.proj /target:Clobber;Build /property:Configurations="Debug;Release" /property:NUnitRedirectConsoleOutput=1</buildArgs> <logger>C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MSBuild.dll</logger> <timeout>2700</timeout> </msbuild> </tasks> 

Build Log

 Done Building Project "c:\Build\Pcp_Main\Pcp.proj" (Clobber;Build target(s)). Build succeeded. 0 Warning(s) 0 Error(s) Time Elapsed 00:01:32.39 MSBUILD : error MSB4015: The build stopped unexpectedly because the "ReusableLogger" logger failed unexpectedly during shutdown. System.IO.DirectoryNotFoundException: Could not find a part of the path 'c:\Build\Pcp_Main\Artifacts\msbuild-results-2d082e8c-0e88-4c0b-9a6b-aa0e3094cab9.xml'. at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share) at System.Xml.XmlDocument.Save(String filename) at ThoughtWorks.CruiseControl.MSBuild.XmlLogger.Shutdown() at Microsoft.Build.Evaluation.ProjectCollection.ReusableLogger.Shutdown() at Microsoft.Build.BackEnd.Logging.LoggingService.ShutdownLogger(ILogger logger) </build> 

La carpeta c: \ Build \ Pcp_Main \ Artifacts \ existe y el usuario que ejecuta la compilation tiene acceso de escritura a la carpeta.

También intenté cambiar el dll de logging a Rodemeyer.MsBuildToCCnet.dll y recibí la misma exception.

El proyecto también se construye desde la línea de command sin ningún problema.

El problema era tener la carpeta de artefactos dentro de la carpeta de compilation. Moverlo fuera de la carpeta de compilation resolvió el problema.

    Intereting Posts