2013-05-15 1 views
-1

Если я открываю командную строку и введите MSBuild, или/MSBuild следуют путь к файлу, он говорит, чтоЗапуск MSBuild из командной строки

'msbuild' is not recognized as an internal or external command, operable program or batch file. '

Однако, когда я бегу одни и те же строки в визуальная студия подсказывает, что это работает. Кто-нибудь знает, почему это?

Вот мой питон скрипт для запуска MSBuild в командной строке

import subprocess 
filename="C:\Users\bb\Documents\bb\Code\VisualStudio\tree.ProEAPI.UnitTests\tree.ProEAPI.UnitTests.vbproj" 
p = subprocess.Popen(['C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe', filename], shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) 
for line in p.stdout.readlines(): 
    print line, 
retval = p.wait() 
+0

Это метод «летучей мыши». http://stackoverflow.com/questions/5669765/build-visual-studio-project-through-the-command-line/5669820#5669820 – granadaCoder

ответ

4

При запуске командной студии запроса Визуального, он добавляет некоторые дополнительные места для переменного окружения «пути» - это случается, включает расположение MSBuild.

Интересное примечание стороны - вы можете использовать команду «где» в пакетном режиме, чтобы найти путь к приложению. Например, бег «где MSBuild» в командной студии линии Визуальный выводит это:

C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC>where msbuild 
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe 
C:\Windows\Microsoft.NET\Framework64\v3.5\MSBuild.exe 

Но в стандартной командной строке выводит следующее:

C:\Users\stephen.edmonds>where msbuild 
INFO: Could not find files for the given pattern(s). 

Вы можете просмотреть текущее значение пути переменная среды с помощью команды «set path»

+0

Когда я добавляю весь путь к файлу MSBuild.exe напрямую, добавьте путь к файлу в командной строки. Однако, когда я дублирую одно и то же в моем скрипте python, он не работает, он выплескивает одно и то же сообщение. Я добавлю изменение своего кода на Python. – BesaseB

1

Поскольку вашей команде pompt не хватает местоположения файла msbuild.exe из его переменной окружения. Обычно C: \ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 для .net 4. Попробуйте установить его в консоли управления компьютером или в командной строке:

set path=%path%;C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\ 

попробуйте MSBuild снова.