Есть довольно интересная проблемка, которую ну никак не получается решить. Имеем build-машину где собираются билды. Недавно внес изменения для запуска утилиты
editbin.exe с параметром
LARGEADDRESSAWARE в конце каждого билда, которая расположена в папке
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin (понятно, что путь к папке может меняться). В build прожекте добавил новый target:
<Exec command=""$(VSInstallDir)\VC\bin\editbin.exe" /LARGEADDRESSAWARE "Manager.exe""/>
Если запустить MSBuild
локально с этим таргетом на этой же машине, то все работает. Гуд! Но при чекине и при попытке собраться билд падает с такой ошибкой:
The command ""\VC\bin\editbin.exe"" exited with code 3.
Как видно, TFS build не подставил значение $(VSInstallDir) макроса. Как лечить?
UPD:
Я выяснил, что на билд машине есть вот такой замечательный файлик:
C:/Program Files/MSBuild/Microsoft/VisualStudio/TeamBuild/Microsoft.TeamFoundation.Build.targets
В нем есть определение
<VSINSTALLDIR Condition="'$(VSINSTALLDIR)'=='' and '$(NetSamplePath)'!=''">$(NetSamplePath)\..\..<VSINSTALLDIR>
так вот как я понимаю $(NetSamplePath) почему-то пустой. Google почти ничего не знает про этот макрос.