Build/Test Issues

Unable to get NCrunch running due to absolute output paths

Started by Daniel Rose on 7,449 views

My solution has an absolute output path (OutDir), since the output is on a different drive from the solution, m:\exaplus\bin. However, the NCrunch runner does not handle this case and simply appends this absolute path to the workspace. Thus, the built assembly is not found (and also not properly generated). As output text in the processing queue I get the following, for example:

ERROR (Compilation): Core: (0): Unable to find built assembly. Checked locations: C:\Users\rose\AppData\Local\NCrunch\8144\9\WindowsAPI.Core\m:\exaplus\bin\Microsoft.WindowsAPICodePack.dll
C:\Users\rose\AppData\Local\NCrunch\8144\9\WindowsAPI.Core\m:\exaplus\bin\Microsoft.WindowsAPICodePack.exe
C:\Users\rose\AppData\Local\NCrunch\8144\9\WindowsAPI.Core\m:\exaplus\bin\Microsoft.WindowsAPICodePack.lib
C:\Users\rose\AppData\Local\NCrunch\8144\9\WindowsAPI.Core\m:\exaplus\bin\Core.dll
C:\Users\rose\AppData\Local\NCrunch\8144\9\WindowsAPI.Core\m:\exaplus\bin\Core.exe
C:\Users\rose\AppData\Local\NCrunch\8144\9\WindowsAPI.Core\m:\exaplus\bin\Core.lib
C:\Users\rose\AppData\Local\NCrunch\8144\9\m:\exaplus\bin\Microsoft.WindowsAPICodePack.dll
C:\Users\rose\AppData\Local\NCrunch\8144\9\m:\exaplus\bin\Microsoft.WindowsAPICodePack.exe
C:\Users\rose\AppData\Local\NCrunch\8144\9\m:\exaplus\bin\Microsoft.WindowsAPICodePack.lib
C:\Users\rose\AppData\Local\NCrunch\8144\9\m:\exaplus\bin\Core.dll
C:\Users\rose\AppData\Local\NCrunch\8144\9\m:\exaplus\bin\Core.exe
C:\Users\rose\AppData\Local\NCrunch\8144\9\m:\exaplus\bin\Core.lib
C:\Users\rose\AppData\Local\NCrunch\8144\9\WindowsAPI.Core\bin\debug\Microsoft.WindowsAPICodePack.dll
C:\Users\rose\AppData\Local\NCrunch\8144\9\WindowsAPI.Core\bin\debug\Microsoft.WindowsAPICodePack.exe
C:\Users\rose\AppData\Local\NCrunch\8144\9\WindowsAPI.Core\bin\debug\Microsoft.WindowsAPICodePack.lib
C:\Users\rose\AppData\Local\NCrunch\8144\9\WindowsAPI.Core\bin\debug\Core.dll
C:\Users\rose\AppData\Local\NCrunch\8144\9\WindowsAPI.Core\bin\debug\Core.exe
C:\Users\rose\AppData\Local\NCrunch\8144\9\WindowsAPI.Core\bin\debug\Core.lib
C:\Users\rose\AppData\Local\NCrunch\8144\9\bin\debug\Microsoft.WindowsAPICodePack.dll
C:\Users\rose\AppData\Local\NCrunch\8144\9\bin\debug\Microsoft.WindowsAPICodePack.exe
C:\Users\rose\AppData\Local\NCrunch\8144\9\bin\debug\Microsoft.WindowsAPICodePack.lib
C:\Users\rose\AppData\Local\NCrunch\8144\9\bin\debug\Core.dll
C:\Users\rose\AppData\Local\NCrunch\8144\9\bin\debug\Core.exe
C:\Users\rose\AppData\Local\NCrunch\8144\9\bin\debug\Core.lib
C:\Users\rose\AppData\Local\NCrunch\8144\9\WindowsAPI.Core\bin\Microsoft.WindowsAPICodePack.dll
C:\Users\rose\AppData\Local\NCrunch\8144\9\WindowsAPI.Core\bin\Microsoft.WindowsAPICodePack.exe
C:\Users\rose\AppData\Local\NCrunch\8144\9\WindowsAPI.Core\bin\Microsoft.WindowsAPICodePack.lib
C:\Users\rose\AppData\Local\NCrunch\8144\9\WindowsAPI.Core\bin\Core.dll
C:\Users\rose\AppData\Local\NCrunch\8144\9\WindowsAPI.Core\bin\Core.exe
C:\Users\rose\AppData\Local\NCrunch\8144\9\WindowsAPI.Core\bin\Core.lib
C:\Users\rose\AppData\Local\NCrunch\8144\9\bin\Microsoft.WindowsAPICodePack.dll
C:\Users\rose\AppData\Local\NCrunch\8144\9\bin\Microsoft.WindowsAPICodePack.exe
C:\Users\rose\AppData\Local\NCrunch\8144\9\bin\Microsoft.WindowsAPICodePack.lib
C:\Users\rose\AppData\Local\NCrunch\8144\9\bin\Core.dll
C:\Users\rose\AppData\Local\NCrunch\8144\9\bin\Core.exe
C:\Users\rose\AppData\Local\NCrunch\8144\9\bin\Core.lib
C:\Users\rose\AppData\Local\NCrunch\8144\9\WindowsAPI.Core\debug\Microsoft.WindowsAPICodePack.dll
C:\Users\rose\AppData\Local\NCrunch\8144\9\WindowsAPI.Core\debug\Microsoft.WindowsAPICodePack.exe
C:\Users\rose\AppData\Local\NCrunch\8144\9\WindowsAPI.Core\debug\Microsoft.WindowsAPICodePack.lib
C:\Users\rose\AppData\Local\NCrunch\8144\9\WindowsAPI.Core\debug\Core.dll
C:\Users\rose\AppData\Local\NCrunch\8144\9\WindowsAPI.Core\debug\Core.exe
C:\Users\rose\AppData\Local\NCrunch\8144\9\WindowsAPI.Core\debug\Core.lib
C:\Users\rose\AppData\Local\NCrunch\8144\9\debug\Microsoft.WindowsAPICodePack.dll
C:\Users\rose\AppData\Local\NCrunch\8144\9\debug\Microsoft.WindowsAPICodePack.exe
C:\Users\rose\AppData\Local\NCrunch\8144\9\debug\Microsoft.WindowsAPICodePack.lib
C:\Users\rose\AppData\Local\NCrunch\8144\9\debug\Core.dll
C:\Users\rose\AppData\Local\NCrunch\8144\9\debug\Core.exe
C:\Users\rose\AppData\Local\NCrunch\8144\9\debug\Core.lib
C:\Users\rose\AppData\Local\NCrunch\8144\9\WindowsAPI.Core\.\Microsoft.WindowsAPICodePack.dll
C:\Users\rose\AppData\Local\NCrunch\8144\9\WindowsAPI.Core\.\Microsoft.WindowsAPICodePack.exe
C:\Users\rose\AppData\Local\NCrunch\8144\9\WindowsAPI.Core\.\Microsoft.WindowsAPICodePack.lib
C:\Users\rose\AppData\Local\NCrunch\8144\9\WindowsAPI.Core\.\Core.dll
C:\Users\rose\AppData\Local\NCrunch\8144\9\WindowsAPI.Core\.\Core.exe
C:\Users\rose\AppData\Local\NCrunch\8144\9\WindowsAPI.Core\.\Core.lib
C:\Users\rose\AppData\Local\NCrunch\8144\9\.\Microsoft.WindowsAPICodePack.dll
C:\Users\rose\AppData\Local\NCrunch\8144\9\.\Microsoft.WindowsAPICodePack.exe
C:\Users\rose\AppData\Local\NCrunch\8144\9\.\Microsoft.WindowsAPICodePack.lib
C:\Users\rose\AppData\Local\NCrunch\8144\9\.\Core.dll
C:\Users\rose\AppData\Local\NCrunch\8144\9\.\Core.exe
C:\Users\rose\AppData\Local\NCrunch\8144\9\.\Core.lib
Hi Daniel -

Thanks for posting! Using an absolute output path isn't recommended as NCrunch needs to be able to build your solution without interference from other activities that may be going on in the output path (i.e. if you were running your application). My suggestion would be to change your project configuration so that the output path is using a relative reference when NCrunch builds the project. You can do this using the $(NCrunch) environment variable within MSBuild. For example:


<OutDir Condition=" '$(NCrunch)'=='1' ">bin</OutDir>
<OutDir Condition=" '$(NCrunch)'=='' ">m:\exaplus\bin</OutDir>

I hope this does the trick :)


Cheers,

Remco

Hi Remco,

That did the trick.

Thank you!

Post a reply

Log in to reply.