|
| 1 | +This document gives an overview of the steps taken and problems encountered while getting TraceLab WebService running on Brian's machine (after QuickGraph compilation via Carlos was added) |
| 2 | + |
| 3 | + |
| 4 | +Problem |
| 5 | + |
| 6 | + |
| 7 | +The following output: |
| 8 | + |
| 9 | + |
| 10 | +'"vsvars32.bat"' is not recognized as an internal or external command, |
| 11 | + operable program or batch file. |
| 12 | + |
| 13 | + |
| 14 | +And error: |
| 15 | + |
| 16 | + |
| 17 | +Error The command "call "%VS100COMNTOOLS%vsvars32.bat" |
| 18 | +rem sgen.exe /assembly:"C:\Users\Owner\Documents\W&M\cs635\TraceLab\Main\WebService\TraceLab\lib\TraceLabSDK.dll" /parsableerrors /force |
| 19 | + |
| 20 | +IF NOT EXIST C:\Users\Owner\Documents\W&M\cs635\TraceLab\Main\WebService\lib mkdir C:\Users\Owner\Documents\W&M\cs635\TraceLab\Main\WebService\lib |
| 21 | +"C:\Users\Owner\Documents\W&M\cs635\TraceLab\Main\WebService\..\external\ikvm\release\bin\ikvmstub.exe" -r:"C:\Users\Owner\Documents\W&M\cs635\TraceLab\Main\WebService\..\external\NLog\.NET Framework 3.5\NLog.dll" "TraceLabSDK.dll" |
| 22 | + |
| 23 | +xcopy C:\Users\Owner\Documents\W&M\cs635\TraceLab\Main\WebService\TraceLabSDK\mscorlib\*.* C:\Users\Owner\Documents\W&M\cs635\TraceLab\Main\WebService\TraceLab\lib\ /Y |
| 24 | +exit 0 |
| 25 | +" exited with code 255. |
| 26 | + |
| 27 | + |
| 28 | +occur from TraceLabSDK. We were able to identify the following sources of the problem: |
| 29 | +In TraceLabSDK.Types.csproj starting on line 115, the following <PostBuildEvent> was failing |
| 30 | + |
| 31 | + |
| 32 | + <PostBuildEvent>call "%25VS100COMNTOOLS%25vsvars32.bat" |
| 33 | +rem sgen.exe /assembly:"$(TargetPath)" /parsableerrors /force /r:"$(TargetDir)..\TraceLab\lib\TraceLabSDK.dll" |
| 34 | + |
| 35 | +"$(SolutionDir)..\external\ikvm\release\bin\ikvmstub.exe" -lib:"$(SolutionDir)lib" "$(TargetPath)" |
| 36 | + |
| 37 | +exit 0</PostBuildEvent> |
| 38 | + |
| 39 | + |
| 40 | +Additionally, in TraceLabSDK.csproj starting on line 114, the following <PostBuildEvent> was failing |
| 41 | + |
| 42 | + |
| 43 | +<PostBuildEvent>call "%25VS100COMNTOOLS%25vsvars32.bat" |
| 44 | +rem sgen.exe /assembly:"$(TargetPath)" /parsableerrors /force |
| 45 | + |
| 46 | +IF NOT EXIST $(SolutionDir)lib mkdir $(SolutionDir)lib |
| 47 | +"$(SolutionDir)..\external\ikvm\release\bin\ikvmstub.exe" -r:"$(SolutionDir)..\external\NLog\.NET Framework 3.5\NLog.dll" "$(TargetFileName)" |
| 48 | + |
| 49 | +xcopy $(ProjectDir)mscorlib\*.* $(TargetDir) /Y |
| 50 | +exit 0 |
| 51 | +</PostBuildEvent> |
| 52 | + |
| 53 | + |
| 54 | +We identified the problem to be the vsvars32.bat file. The Microsoft VS documentation defines this file's purpose to be setting environment variables for the VS command line. However, the documentation indicated that this file was used with older versions of VS (2015 and earlier) and should not exist in 2017. We tried changing "vsvars32.bat" to its 2017 equivalent "VsDevCmd.bat" according to the Microsoft documentation, but got the same errors in the same places, not recognizing the new file either. We also tried changing the file reference to "vcvars32.bat" according to a suggestion to fix a related problem on Stack Overflow with the same result. |
| 55 | + |
| 56 | +The Fix |
| 57 | +We deleted the entire <PostBuildEvent> statements from above from both TraceLabSDK.Types.csproj and TraceLabSDK.csproj. This finally allowed the successful compilation and running of TraceLab-WebService, although we are unsure how these deletions may impact the project in the future. |
0 commit comments