View Single Post
  #1  
Old 06-01-2015, 06:51 AM
nikolaynnov nikolaynnov is online now
Registered User
 
Join Date: 04-04-2013
Posts: 4
Make VS action uses incorrect MSBuild

There is a build script to build 2 projects for MSVS2008 (2 .vcproj files + 1 .sln) and a few projects for MSVS2013 (only .vcxproj files). To build vcproj a "Make VS 2008" step is used. To build vcxproj a "Make VS2012" step is used. Till today everything was fine. But today I have installed path KB976656 (http://thehotfixshare.net/board/inde...showfile=11640) for VS2008 to fix fatal error C1859. Afterwards the vcproj is compiled ok, but when running step "Make VS 2012" on vcxproj, incorrect version of devenv is used:
01.06.2015 13:37:08: Building subroutine step 19 - window...
Pre-processing...

Rebuilding configuration 'Release|Win32'...
Command: "C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\devenv.com" D:\buildscripts\8_7_39\trunk\NISS400\Slaves\window \App.vcxproj /rebuild "Release|Win32"
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\devenv.com" D:\buildscripts\8_7_39\trunk\NISS400\Slaves\window \App.vcxproj /rebuild "Release|Win32"

Microsoft (R) Visual Studio Version 9.0.30729.1.
Copyright (C) Microsoft Corp. All rights reserved.

Exception has been thrown by the target of an invocation.
Invalid solution configuration

Use:
devenv [solutionfile | projectfile | anyfile.ext] [switches]
...


Output from cmd:
C:\Users\build>where msbuild
INFO: Could not find files for the given pattern(s).

C:\Users\build>where vcbuild
INFO: Could not find files for the given pattern(s).

C:\Users\build>

Output from VS2008 cmd:
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC>where msbuild
C:\Windows\Microsoft.NET\Framework\v3.5\MSBuild.ex e
C:\Windows\Microsoft.NET\Framework\v2.0.50727\MSBu ild.exe

C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC>

Output from VS2013 cmd:
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC>where msbuild
C:\Program Files (x86)\MSBuild\12.0\Bin\MSBuild.exe
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBu ild.exe

C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC>

All vcxproj-files starts with following lines:
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">


If I use "Override default DEVENV/MSBUILD/VCBUILD location" field (C:\Program Files (x86)\MSBuild\12.0\Bin\MSBuild.exe) it is also successfully compiled. But I'am looking for a solution to don't override default msbuild location because I suspect there will some problems later after migration to VS2015.

So my questions:
- Encountered anyone with this problem before?
- How to resolve it?
- How VBP determines which version of msbuild has to be used?
- Is there a way to define a global (only one time) option for all steps "Make VS 2012"?
Reply With Quote