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
Build/Test Issues
Unable to get NCrunch running due to absolute output paths
Started by Daniel Rose on 7,449 views
Remco NCrunch Developer
#491
08 Oct 2011 10:07 UTC
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
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!
That did the trick.
Thank you!
Post a reply
Log in to reply.