跳到主要內容

[Build] 使用MSBuild進行C# Solution建置自動化

小筆記
使用命令列讓C#專案建置自動化,節省時間😎💪💪💪




Ex:
針對D:\程式\SmartLogAnayzer\SmartLogAnayzer.sln進行建置,專案配置=Debug,建置log功能開啟,導至D:\程式\SmartLogAnayzer\SmartLogAnayzer\bin\Debug\SmartLogAnalyzer_Build.log

於命令列輸入以下:
msbuild.exe D:\程式\SmartLogAnayzer\SmartLogAnayzer.sln /t:rebuild /p:Configuration=Debug /fl /flp:logfile=D:\程式\SmartLogAnayzer\SmartLogAnayzer\bin\Debug\SmartLogAnalyzer_Build.log;verbosity=diagnostic

建置輸出如下:
C:\Program Files (x86)\MSBuild\14.0\Bin>msbuild.exe D:\程式\SmartLogAnayzer\SmartLogAnayzer.sln /t:rebuild /p:Configuration=De
bug /fl /flp:logfile=D:\程式\SmartLogAnayzer\SmartLogAnayzer\bin\Debug\SmartLogAnalyzer_Build.log;verbosity=diagnostic
Microsoft (R) Build Engine version 14.0.25420.1
Copyright (C) Microsoft Corporation. 著作權所有,並保留一切權利。

在這個方案中一次建置一個專案。若要啟用平行組建,請加入 "/m" 參數。
已經開始建置於 2016/12/17 下午 11:08:58。
節點 1 (rebuild 目標) 上的專案 "D:\程式\SmartLogAnayzer\SmartLogAnayzer.sln"。
ValidateSolutionConfiguration:
  建置方案組態 "Debug|Any CPU"。
專案 "D:\程式\SmartLogAnayzer\SmartLogAnayzer.sln" (1) 正在節點 1 (Rebuild 目標) 上建置 "D:\程式\SmartLogAnayzer\SmartLogAnayz
er\SmartLogAna
yzer.csproj" (2)。
CoreClean:
  正在刪除檔案 "D:\程式\SmartLogAnayzer\SmartLogAnayzer\bin\Debug\SmartLogAnayzer.exe.config"。
  正在刪除檔案 "D:\程式\SmartLogAnayzer\SmartLogAnayzer\bin\Debug\SmartLogAnayzer.exe"。
  正在刪除檔案 "D:\程式\SmartLogAnayzer\SmartLogAnayzer\bin\Debug\SmartLogAnayzer.pdb"。
  正在刪除檔案 "D:\程式\SmartLogAnayzer\SmartLogAnayzer\obj\Debug\SmartLogAnayzer.csprojResolveAssemblyReference.cache"。
  正在刪除檔案 "D:\程式\SmartLogAnayzer\SmartLogAnayzer\obj\Debug\SmartLogAnayzer.frmMain.resources"。
  正在刪除檔案 "D:\程式\SmartLogAnayzer\SmartLogAnayzer\obj\Debug\SmartLogAnayzer.Properties.Resources.resources"。
  正在刪除檔案 "D:\程式\SmartLogAnayzer\SmartLogAnayzer\obj\Debug\SmartLogAnayzer.csproj.GenerateResource.Cache"。
  正在刪除檔案 "D:\程式\SmartLogAnayzer\SmartLogAnayzer\obj\Debug\SmartLogAnayzer.exe"。
  正在刪除檔案 "D:\程式\SmartLogAnayzer\SmartLogAnayzer\obj\Debug\SmartLogAnayzer.pdb"。
GenerateBindingRedirects:
  ResolveAssemblyReferences 未提供建議的繫結重新導向。
CoreResGen:
  "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6 Tools\resgen.exe" /useSourcePath /r:"C:\Program Files (
  x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\Microsoft.CSharp.dll" /r:"C:\Program Files (x86)\Referen
  ce Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\mscorlib.dll" /r:"C:\Program Files (x86)\Reference Assemblies\Micros
  oft\Framework\.NETFramework\v4.5.2\System.Core.dll" /r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NE
  TFramework\v4.5.2\System.Data.DataSetExtensions.dll" /r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.N
  ETFramework\v4.5.2\System.Data.dll" /r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.
  2\System.Deployment.dll" /r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.dl
  l" /r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.Drawing.dll" /r:"C:\Prog
  ram Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.Net.Http.dll" /r:"C:\Program Files (x8
  6)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.Windows.Forms.dll" /r:"C:\Program Files (x86)\Refer
  ence Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.Xml.dll" /r:"C:\Program Files (x86)\Reference Assemblies\Mi
  crosoft\Framework\.NETFramework\v4.5.2\System.Xml.Linq.dll" /compile frmMain.resx,obj\Debug\SmartLogAnayzer.frmMain.resourc
  es Properties\Resources.resx,obj\Debug\SmartLogAnayzer.Properties.Resources.resources
  正在處理資源檔 "frmMain.resx" 至 "obj\Debug\SmartLogAnayzer.frmMain.resources"。
  正在處理資源檔 "Properties\Resources.resx" 至 "obj\Debug\SmartLogAnayzer.Properties.Resources.resources"。
GenerateTargetFrameworkMonikerAttribute:
將略過目標 "GenerateTargetFrameworkMonikerAttribute",因為所有輸出檔對於其輸入檔而言都已更新。
CoreCompile:
  C:\Program Files (x86)\MSBuild\14.0\bin\csc.exe /noconfig /nowarn:1701,1702 /nostdlib+ /platform:anycpu32bitpreferred /erro
  rreport:prompt /warn:4 /define:TRACE;DEBUG;TEST /highentropyva+ /reference:"C:\Program Files (x86)\Reference Assemblies\Mic
  rosoft\Framework\.NETFramework\v4.5.2\Microsoft.CSharp.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microso
  ft\Framework\.NETFramework\v4.5.2\mscorlib.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework
  \.NETFramework\v4.5.2\System.Core.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFram
  ework\v4.5.2\System.Data.DataSetExtensions.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework
  \.NETFramework\v4.5.2\System.Data.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFram
  ework\v4.5.2\System.Deployment.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramewo
  rk\v4.5.2\System.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\Syst
  em.Drawing.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.Net
  .Http.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.Windows.
  Forms.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.Xml.dll"
   /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.Xml.Linq.dll" /deb
  ug+ /debug:full /filealign:512 /optimize- /out:obj\Debug\SmartLogAnayzer.exe /ruleset:"C:\Program Files (x86)\Microsoft Vis
  ual Studio 14.0\Team Tools\Static Analysis Tools\\Rule Sets\MinimumRecommendedRules.ruleset" /subsystemversion:6.00 /resour
  ce:obj\Debug\SmartLogAnayzer.frmMain.resources /resource:obj\Debug\SmartLogAnayzer.Properties.Resources.resources /target:w
  inexe /utf8output APConfig.cs frmMain.cs frmMain.Designer.cs Log.cs myString.cs Program.cs Properties\AssemblyInfo.cs Prope
  rties\Resources.Designer.cs Properties\Settings.Designer.cs "C:\Users\user\AppData\Local\Temp\.NETFramework,Version=v4.5.2.
  AssemblyAttributes.cs"
  Using shared compilation with compiler from directory: C:\Program Files (x86)\MSBuild\14.0\bin
_CopyAppConfigFile:
  正在將檔案從 "App.config" 複製到 "bin\Debug\SmartLogAnayzer.exe.config"。
CopyFilesToOutputDirectory:
  正在將檔案從 "obj\Debug\SmartLogAnayzer.exe" 複製到 "bin\Debug\SmartLogAnayzer.exe"。
  SmartLogAnayzer -> D:\程式\SmartLogAnayzer\SmartLogAnayzer\bin\Debug\SmartLogAnayzer.exe
  正在將檔案從 "obj\Debug\SmartLogAnayzer.pdb" 複製到 "bin\Debug\SmartLogAnayzer.pdb"。
專案 "D:\程式\SmartLogAnayzer\SmartLogAnayzer\SmartLogAnayzer.csproj" (Rebuild 目標) 建置完成。

專案 "D:\程式\SmartLogAnayzer\SmartLogAnayzer.sln" (rebuild 目標) 建置完成。


建置成功。
    0 個警告
    0 個錯誤

經過時間 00:00:00.70

參考:
1. MSBuild Command-Line Reference, https://msdn.microsoft.com/en-us/library/ms164311.aspx
2. 以Visual Studio 2015,MSBuild.exe路徑於C:\Program Files (x86)\MSBuild\14.0\Bin\
張貼留言

這個網誌中的熱門文章

[遊記] 20160710 廈門 - 中山路步行街,鼓浪嶼

此次趁出差之便,於周末從廈門翔安區到島內搭船到鼓浪嶼來看看這素有海上花園之稱的地方


[遊記] 20161018-19 美西自由行Day 4-5:優勝美地國家公園(Yosemite National Park) @ California, US

優勝美地國家公園,雖然不知道中文譯名是從何而來的,但實際到此體會才知道這個譯名實如其名

Glacier Point眺看半圓頂(Half Dome)