2014-01-08 1 views
6

При создании автоматизации сборки я столкнулся с проблемой. Наряду с обновлением Visual Studio 2013 путь к MSBuild перемещен, как описано здесь http://timrayburn.net/blog/visual-studio-2013-and-msbuild/Где Powershell и PSake запускают msbuild?

Я обновил свой системный путь, чтобы указать на это новое место для msbuild. Использование регулярных команд cmd msbuild разрешает просто отлично. Но запустив мои сценарии в PowerShell, он, кажется, все еще забирает старый и показывает проблему, как описано в ссылке. Как я могу видеть и изменять, где powershell и psake выбирают msbuild, поэтому я могу указать на ожидаемую версию?

ответ

8

PSake поддерживает версии MSBuild на одной коробке. Вы можете выбрать версию и платформу, например. 4.0x64 с директивой framework. Путь к инструментам MSBuild не берется с $env:path, а вычисляется. Он использует реестр, чтобы найти правильный путь.

VS 2013 и MSBuild Инструменты поддерживаются начиная с PSake 4.3

+1

И чтобы спасти вас следующий поиск, можно использовать директиву рамочное так: Invoke-Psake -framework 4.5.2 – DustinA

+1

Или вы можете записать его на первый строка вашего сценария. –

0

В PS типа [Environment]::GetEnvironmentVariable("Path")

вы видите оба пути? В какой последовательности они появляются? Что происходит в cmd vs ps при переключении заказа?