使用命令列編譯vs2010的工程
阿新 • • 發佈:2019-02-07
D:\Program Files\Microsoft Visual Studio 10.0\VC>msbuild /?
Microsoft(R) 生成引擎版本 4.0.30319.1
[Microsoft .NET Framework 版本 4.0.30319.1026]
版權所有(C) Microsoft Corporation 2007。保留所有權利。
語法: MSBuild.exe [選項] [專案檔案]
描述: 在專案檔案中生成指定的目標。如果
未指定專案檔案,MSBuild 將搜尋
當前工作目錄來查詢副檔名
以“proj”結尾的檔案並使用該檔案。
開關:
/target:<targets> 在此專案中生成這些目標。使用
分號或逗號分隔多個目標,或者分別指定
每個目標。(縮寫: /t)
示例:
/target:Resources;Compile
/property:<n>=<v> 設定或重寫這些專案級屬性。<n> 是
屬性名,<v> 為屬性值。請使用
分號或逗號分隔多個屬性,或者
分別指定每個屬性。(縮寫: /p)
示例:
/property:WarningLevel=2;OutDir=bin\Debug\
/maxcpucount[:n] 指定用於生成的最大
併發程序數。如果未使用開關,則使用的預設值
為 1。如果使用開關時不帶值,
MSBuild 將最多使用計算機上的
處理器數。(縮寫: /m[:n])
/toolsversion:<version>
要在生成過程中使用的 MSBuild 工具集
(任務、目標等) 的版本。此版本將重寫
個別專案指定的版本。(縮寫:
/tv)
示例:
/toolsversion:3.5
/verbosity:<level> 在事件日誌中顯示此級別的資訊量。
可用的詳細級別有: q[uiet]、 m[inimal]、
n[ormal]、d[etailed] 和 diag[nostic]。(縮寫: /v)
示例:
/verbosity:quiet
/consoleloggerparameters:<parameters>
控制檯記錄器的引數。(縮寫: /clp)
可用的引數有:
PerformanceSummary -- 顯示在任務、目標和專案上
花費的時間。
Summary -- 結束時顯示錯誤和警告的摘要。
NoSummary -- 結束時不顯示錯誤和警告
的摘要。
ErrorsOnly -- 僅顯示錯誤。
WarningsOnly -- 僅顯示警告。
NoItemAndPropertyList -- 在開始生成每個專案時不顯示
項和屬性的列表。
ShowCommandLine -- 顯示 TaskCommandLineEvent 訊息
ShowTimestamp -- 將時間戳作為所有訊息的字首
顯示。
ShowEventId -- 顯示已開始事件、已完成事件和訊息
的事件 ID。
ForceNoAlign -- 不將文字與控制檯緩衝區的大小
匹配。
DisableConsoleColor -- 將預設控制檯顏色
用於所有記錄訊息。
DisableMPLogging -- 在非多處理器
模式下執行時,禁用輸出的多處理器
日誌記錄樣式。
EnableMPLogging -- 即使在非多處理器
模式下執行,也啟用多處理器
日誌記錄樣式。預設情況下啟用此日誌記錄樣式。
Verbosity -- 重寫此記錄器的 /verbosity
設定。
示例:
/consoleloggerparameters:PerformanceSummary;NoSummary;
Verbosity=minimal
/noconsolelogger 禁用預設控制檯記錄器,並且不將事件
記錄到控制檯。(縮寫: /noconlog)
/fileLogger[n] 將生成輸出記錄到檔案中。預設情況下,
該檔案在當前目錄中,名稱為
“msbuild[n].log”。所有節點中的事件合併到
單個日誌中。fileLogger 的檔案和
其他引數的位置可以通過新增
“/fileLoggerParameters[n]”開關來指定。
“n”(如果存在)可以為 1-9 的數字,允許最多附加
10 個檔案記錄器。(縮寫: /fl[n])
/fileloggerparameters[n]:<parameters>
為檔案記錄器提供任何額外的引數。
存在此開關意味著
存在對應的 /filelogger[n] 開關。
“n”(如果存在)可以為 1-9 的數字。
任何分散式檔案記錄器也可以使用
/fileloggerparameters,具體可參閱 /distributedFileLogger 的
說明。
(縮寫: /flp[n])
為控制檯記錄器列出的相同引數
可用。某些其他可用引數有:
LogFile -- 生成日誌將寫入其中的
日誌檔案的路徑。
Append -- 確定是將生成日誌附加到日誌檔案,
還是覆蓋日誌檔案。如果設定此
開關,則會將生成日誌附加到日誌檔案;
如果不設定此開關,則會覆蓋
現有日誌檔案的內容。
預設值為不附加到日誌檔案。
Encoding -- 指定檔案的編碼,
例如,UTF-8、Unicode 或 ASCII
預設的詳細級別為 Detailed。
示例:
/fileLoggerParameters:LogFile=MyLog.log;Append;
Verbosity=diagnostic;Encoding=UTF-8
/flp:Summary;Verbosity=minimal;LogFile=msbuild.sum
/flp1:warningsonly;logfile=msbuild.wrn
/flp2:errorsonly;logfile=msbuild.err
/distributedlogger:<central logger>*<forwarding logger>
使用此記錄器來記錄 MSBuild 中的事件,向每個節點
附加不同的記錄器例項。若要指定
多個記錄器,請分別指定每個記錄器。
(縮寫 /dl)
<logger> 語法為:
[<logger class>,]<logger assembly>[;<logger parameters>]
<logger class> 語法為:
[<partial or full namespace>.]<logger class name>
<logger assembly> 語法為:
{<assembly name>[,<strong name>] | <assembly file>}
<logger parameters> 是可選的,並且按鍵入的
形式原樣傳遞給記錄器。(縮寫: /l)
示例:
/dl:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral
/dl:MyLogger,C:\My.dll*ForwardingLogger,C:\Logger.dll
/distributedFileLogger
將生成輸出記錄到多個日誌檔案,每個 MSBuild 節點
一個日誌檔案。這些檔案的初始位置為
當前目錄。預設情況下,這些檔名為
“MSBuild<nodeid>.log”。可通過新增
“/fileLoggerParameters”開關來指定
這些檔案的位置和 fileLogger 的其他引數。
如果日誌檔名是通過 fileLoggerParameters
開關設定的,分散式記錄器將使用 fileName 作為
模板並將節點 ID 附加到此 fileName
以便為每個節點建立一個日誌檔案。
/logger:<logger> 使用此記錄器來記錄 MSBuild 中的事件。若要指定
多個記錄器,請分別指定每個記錄器。
<logger> 語法為:
[<logger class>,]<logger assembly>[;<logger parameters>]
<logger class> 語法為:
[<partial or full namespace>.]<logger class name>
<logger assembly> 語法為:
{<assembly name>[,<strong name>] | <assembly file>}
<logger parameters> 是可選的,並按鍵入的
形式原樣傳遞給記錄器。(縮寫: /l)
示例:
/logger:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral
/logger:XMLLogger,C:\Loggers\MyLogger.dll;OutputAsHTML
/validate 依據預設架構驗證專案。(縮寫:
/val)
/validate:<schema> 依據指定的架構驗證專案。 (縮寫:
/val)
示例:
/validate:MyExtendedBuildSchema.xsd
/ignoreprojectextensions:<副檔名>
確定要生成的專案檔案時要忽略的
副檔名的列表。使用分號或逗號來分隔
多個副檔名。
(縮寫: /ignore)
示例:
/ignoreprojectextensions:.sln
/nodeReuse:<parameters>
允許或禁止重複使用 MSBuild 節點。
引數包括:
True -- 生成完成後節點將保留,
並且將由後面的生成重複使用(預設)
False -- 生成完成後節點將不會保留
(縮寫: /nr)
示例:
/nr:true
/preprocess[:file]
通過嵌入將在生成過程中匯入的
所有檔案並標記其邊界,
建立一個聚合的專案檔案。這對於
瞭解匯入什麼檔案、從何處匯入以及
這些檔案在生成中的構成
非常有用。預設情況下,輸出將寫入
控制檯視窗。如果提供輸出檔案的路徑,
則將改用該路徑。
(縮寫: /pp)
示例:
/pp:out.txt
/detailedsummary
在生成的結尾顯示有關
所生成的配置以及如何向節點安排
這些配置的詳細資訊。
(縮寫: /ds)
@<file> 從文字檔案插入命令列設定。若要指定
多個響應檔案,請分別指定每個響應
檔案。
/noautoresponse 不自動包括 MSBuild.rsp 檔案。(縮寫:
/noautorsp)
/nologo 不顯示啟動版權標誌和版權訊息。
/version 僅顯示版本資訊。(縮寫: /ver)
/help 顯示此用法訊息。(縮寫: /? 或 /h)
示例:
MSBuild MyApp.sln /t:Rebuild /p:Configuration=Release
MSBuild MyApp.csproj /t:Clean
/p:Configuration=Debug;TargetFrameworkVersion=v3.5
Microsoft(R) 生成引擎版本 4.0.30319.1
[Microsoft .NET Framework 版本 4.0.30319.1026]
版權所有(C) Microsoft Corporation 2007。保留所有權利。
語法: MSBuild.exe [選項] [專案檔案]
描述: 在專案檔案中生成指定的目標。如果
未指定專案檔案,MSBuild 將搜尋
當前工作目錄來查詢副檔名
以“proj”結尾的檔案並使用該檔案。
開關:
/target:<targets> 在此專案中生成這些目標。使用
分號或逗號分隔多個目標,或者分別指定
每個目標。(縮寫: /t)
示例:
/target:Resources;Compile
/property:<n>=<v> 設定或重寫這些專案級屬性。<n> 是
屬性名,<v> 為屬性值。請使用
分號或逗號分隔多個屬性,或者
分別指定每個屬性。(縮寫: /p)
示例:
/property:WarningLevel=2;OutDir=bin\Debug\
/maxcpucount[:n] 指定用於生成的最大
併發程序數。如果未使用開關,則使用的預設值
為 1。如果使用開關時不帶值,
MSBuild 將最多使用計算機上的
處理器數。(縮寫: /m[:n])
/toolsversion:<version>
要在生成過程中使用的 MSBuild 工具集
(任務、目標等) 的版本。此版本將重寫
個別專案指定的版本。(縮寫:
/tv)
示例:
/toolsversion:3.5
/verbosity:<level> 在事件日誌中顯示此級別的資訊量。
可用的詳細級別有: q[uiet]、 m[inimal]、
n[ormal]、d[etailed] 和 diag[nostic]。(縮寫: /v)
示例:
/verbosity:quiet
/consoleloggerparameters:<parameters>
控制檯記錄器的引數。(縮寫: /clp)
可用的引數有:
PerformanceSummary -- 顯示在任務、目標和專案上
花費的時間。
Summary -- 結束時顯示錯誤和警告的摘要。
NoSummary -- 結束時不顯示錯誤和警告
的摘要。
ErrorsOnly -- 僅顯示錯誤。
WarningsOnly -- 僅顯示警告。
NoItemAndPropertyList -- 在開始生成每個專案時不顯示
項和屬性的列表。
ShowCommandLine -- 顯示 TaskCommandLineEvent 訊息
ShowTimestamp -- 將時間戳作為所有訊息的字首
顯示。
ShowEventId -- 顯示已開始事件、已完成事件和訊息
的事件 ID。
ForceNoAlign -- 不將文字與控制檯緩衝區的大小
匹配。
DisableConsoleColor -- 將預設控制檯顏色
用於所有記錄訊息。
DisableMPLogging -- 在非多處理器
模式下執行時,禁用輸出的多處理器
日誌記錄樣式。
EnableMPLogging -- 即使在非多處理器
模式下執行,也啟用多處理器
日誌記錄樣式。預設情況下啟用此日誌記錄樣式。
Verbosity -- 重寫此記錄器的 /verbosity
設定。
示例:
/consoleloggerparameters:PerformanceSummary;NoSummary;
Verbosity=minimal
/noconsolelogger 禁用預設控制檯記錄器,並且不將事件
記錄到控制檯。(縮寫: /noconlog)
/fileLogger[n] 將生成輸出記錄到檔案中。預設情況下,
該檔案在當前目錄中,名稱為
“msbuild[n].log”。所有節點中的事件合併到
單個日誌中。fileLogger 的檔案和
其他引數的位置可以通過新增
“/fileLoggerParameters[n]”開關來指定。
“n”(如果存在)可以為 1-9 的數字,允許最多附加
10 個檔案記錄器。(縮寫: /fl[n])
/fileloggerparameters[n]:<parameters>
為檔案記錄器提供任何額外的引數。
存在此開關意味著
存在對應的 /filelogger[n] 開關。
“n”(如果存在)可以為 1-9 的數字。
任何分散式檔案記錄器也可以使用
/fileloggerparameters,具體可參閱 /distributedFileLogger 的
說明。
(縮寫: /flp[n])
為控制檯記錄器列出的相同引數
可用。某些其他可用引數有:
LogFile -- 生成日誌將寫入其中的
日誌檔案的路徑。
Append -- 確定是將生成日誌附加到日誌檔案,
還是覆蓋日誌檔案。如果設定此
開關,則會將生成日誌附加到日誌檔案;
如果不設定此開關,則會覆蓋
現有日誌檔案的內容。
預設值為不附加到日誌檔案。
Encoding -- 指定檔案的編碼,
例如,UTF-8、Unicode 或 ASCII
預設的詳細級別為 Detailed。
示例:
/fileLoggerParameters:LogFile=MyLog.log;Append;
Verbosity=diagnostic;Encoding=UTF-8
/flp:Summary;Verbosity=minimal;LogFile=msbuild.sum
/flp1:warningsonly;logfile=msbuild.wrn
/flp2:errorsonly;logfile=msbuild.err
/distributedlogger:<central logger>*<forwarding logger>
使用此記錄器來記錄 MSBuild 中的事件,向每個節點
附加不同的記錄器例項。若要指定
多個記錄器,請分別指定每個記錄器。
(縮寫 /dl)
<logger> 語法為:
[<logger class>,]<logger assembly>[;<logger parameters>]
<logger class> 語法為:
[<partial or full namespace>.]<logger class name>
<logger assembly> 語法為:
{<assembly name>[,<strong name>] | <assembly file>}
<logger parameters> 是可選的,並且按鍵入的
形式原樣傳遞給記錄器。(縮寫: /l)
示例:
/dl:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral
/dl:MyLogger,C:\My.dll*ForwardingLogger,C:\Logger.dll
/distributedFileLogger
將生成輸出記錄到多個日誌檔案,每個 MSBuild 節點
一個日誌檔案。這些檔案的初始位置為
當前目錄。預設情況下,這些檔名為
“MSBuild<nodeid>.log”。可通過新增
“/fileLoggerParameters”開關來指定
這些檔案的位置和 fileLogger 的其他引數。
如果日誌檔名是通過 fileLoggerParameters
開關設定的,分散式記錄器將使用 fileName 作為
模板並將節點 ID 附加到此 fileName
以便為每個節點建立一個日誌檔案。
/logger:<logger> 使用此記錄器來記錄 MSBuild 中的事件。若要指定
多個記錄器,請分別指定每個記錄器。
<logger> 語法為:
[<logger class>,]<logger assembly>[;<logger parameters>]
<logger class> 語法為:
[<partial or full namespace>.]<logger class name>
<logger assembly> 語法為:
{<assembly name>[,<strong name>] | <assembly file>}
<logger parameters> 是可選的,並按鍵入的
形式原樣傳遞給記錄器。(縮寫: /l)
示例:
/logger:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral
/logger:XMLLogger,C:\Loggers\MyLogger.dll;OutputAsHTML
/validate 依據預設架構驗證專案。(縮寫:
/val)
/validate:<schema> 依據指定的架構驗證專案。 (縮寫:
/val)
示例:
/validate:MyExtendedBuildSchema.xsd
/ignoreprojectextensions:<副檔名>
確定要生成的專案檔案時要忽略的
副檔名的列表。使用分號或逗號來分隔
多個副檔名。
(縮寫: /ignore)
示例:
/ignoreprojectextensions:.sln
/nodeReuse:<parameters>
允許或禁止重複使用 MSBuild 節點。
引數包括:
True -- 生成完成後節點將保留,
並且將由後面的生成重複使用(預設)
False -- 生成完成後節點將不會保留
(縮寫: /nr)
示例:
/nr:true
/preprocess[:file]
通過嵌入將在生成過程中匯入的
所有檔案並標記其邊界,
建立一個聚合的專案檔案。這對於
瞭解匯入什麼檔案、從何處匯入以及
這些檔案在生成中的構成
非常有用。預設情況下,輸出將寫入
控制檯視窗。如果提供輸出檔案的路徑,
則將改用該路徑。
(縮寫: /pp)
示例:
/pp:out.txt
/detailedsummary
在生成的結尾顯示有關
所生成的配置以及如何向節點安排
這些配置的詳細資訊。
(縮寫: /ds)
@<file> 從文字檔案插入命令列設定。若要指定
多個響應檔案,請分別指定每個響應
檔案。
/noautoresponse 不自動包括 MSBuild.rsp 檔案。(縮寫:
/noautorsp)
/nologo 不顯示啟動版權標誌和版權訊息。
/version 僅顯示版本資訊。(縮寫: /ver)
/help 顯示此用法訊息。(縮寫: /? 或 /h)
示例:
MSBuild MyApp.sln /t:Rebuild /p:Configuration=Release
MSBuild MyApp.csproj /t:Clean
/p:Configuration=Debug;TargetFrameworkVersion=v3.5