前面咱們講解了如何使用msbuild.exe編譯一個.net程序.示例中咱們講解的是編譯控制檯項目,可是咱們知道web項目不只須要編譯類的嵌入的資源文件,還要拷貝諸如css,html,js,圖片等資源文件,比較舊的msbuild版本若是不對web項目做特殊處理則是不能複製這些資源文件的. css
下面咱們講一下如何經過參數設置使得msbuild編譯的web項目在編譯時複製資源. html
首先咱們打開visual studio創建一個.net mvc項目.命名爲GitTest.相信你們對新建普通mvc項目很是熟悉了,這裏就再也不截圖,咱們就使用默認板,不進行任何修改. web
而後咱們創建一個buildWebProj.bat批處理文件,內容以下: windows
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\MSBuild.exe" "E:\personal project\netdevops\Projects\GitTest\GitTest.sln" /t:ResolveReferences;Compile /t:_CopyWebApplication /p:Configuration=Release /p:WebProjectOutputDir="E:\personal project\netdevops\Projects\GitTest\GitTest\bin\Release" /p:OutputPath="E:\personal project\netdevops\Projects\GitTest\GitTest\bin" 瀏覽器
期中第一個空格前面部分是msbuild.exe文件所在位置.後面跟的是要進行編譯的項目的名稱.後面的是關於web項目編譯的參數,這裏參考了很多內容,你們在編譯web項目時只要複製上面代碼把msbuild.exe所在目錄和項目sln文件所在目錄替換下便可. 服務器
而後在Jenkins中新建一個項目,在build欄裏面添加一個windows batch command步驟,而後在命令框裏把bat文件完整路徑寫上執行build now.若是配置沒有錯誤則會生成一條構建成功記錄.構建成功後,咱們打開項目bin目錄下的release文件夾,會看到生成的內容大體以下結構 mvc
能夠看到Content,fonts,Scripts都複製到了這個目錄下面. 測試
咱們把這些內容複製到iis預先建好的目錄下面,而後打開瀏覽器會看到以下網頁 ui
而後你可能會想,以前的步驟都是自動完成的,爲何這裏手動複製到iis目錄下面呢,能不能編譯完成後自動把這個目錄複製到iis下指定的目錄.呢,答案是確定的,咱們會在後面章節講解如何搭建ftp服務器來實現把編譯完成的內容發佈到測試服務器..net