1. 程式人生 > >使用命令列編譯vs2010的工程

使用命令列編譯vs2010的工程

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