Cruise Control .Net exception writing msbuild-results.xml
I have a cruise control server running a build on a VM. All I did was change the source control from Perforce to Git, and the build is now failing.
<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>
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>
The folder c:\Build\Pcp_Main\Artifacts\ exists and the user running the build has write access to the folder.
I have also tried changing the logging dll to Rodemeyer.MsBuildToCCnet.dll and I get the same exception.
The project also builds from the command line without any problems.
One Solution collect form web for “Cruise Control .Net exception writing msbuild-results.xml”
The issue was having the artifacts folder inside the build folder. Moving it outside of the build folder resolved the issue.