簡體   English   中英

從命令提示符運行MSBuild

[英]Running MSBuild from command prompt

如果我打開命令提示符,然后鍵入msbuild或/ msbuild,然后鍵入路徑文件,則表示

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

但是,當我在Visual Studios命令提示符中運行相同的行時,它會起作用。有人知道這是為什么嗎?

這是我的python腳本,用於通過命令提示符運行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()

當您啟動Visual Studio命令提示符時,它將在“路徑”環境變量中添加一些其他位置-碰巧包括MSBuild的位置。

有趣的旁注-您可以批量使用“ where”命令來查找應用程序的路徑。 例如,在Visual Studio命令行中運行“ where 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).

您可以使用“設置路徑”命令查看路徑環境變量的當前值。

因為您的命令提示符缺少其路徑環境變量中的msbuild.exe的位置。 .net 4通常為C:\\ WINDOWS \\ Microsoft.NET \\ Framework \\ v4.0.30319。請嘗試在計算機管理控制台或命令提示符下進行設置:

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

然后再次嘗試msbuild。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM