Я написал пользовательскую задачу MSBuild, которая вызывает SubWCRev.exe
, исполняемый файл, который (обычно) находится в C:\Program Files\TortoiseSVN\bin
, будь то 32 или 64 бита, поскольку TortoiseSVN предоставляет обе версии.
Проблема в том, что Visual Studio 2010 имеет только 32-битную версию. Поэтому, когда мои коллеги с 64-битной коробкой пытаются собрать, используя мою новую блестящую задачу, $(ProgramFiles)
преобразуется в C:\Program Files(x86)
и взрывается, говоря, что SubWCRev.exe
не может быть найдено. Потому что у них есть 64-битная версия TortoiseSVN, которая живет в C:\Program Files
!
Есть ли лучшее решение, чем жесткое кодирование C:\Program Files
в моем скрипте msbuild, или когда все используют 32-битную версию TortoiseSVN? (На самом деле это проект на C #, я немного возился с кодом MSBuild)