4 MSBUILD代替VS編譯檔案(學習篇)

2021-08-26 05:23:55 字數 1485 閱讀 8853

場景:使用命令列,代替你在vs裡面的右擊發布功能。 在使用jenkins自動化工具發布在發布**的之前,首先要驗證你的**是ok的,可以編譯過去的,這篇文章的目的是乙個日誌記錄,便於自己後續可以找到。一定要注意很多時候我們在vs裡面跑**沒有問題,但是不代表使用命令列發布出去是沒問題的。

1、參照 編寫指令碼,我編寫的指令碼是:2.msbuild,具體內容請參照4裡面的備註資訊將指令碼放到單獨的資料夾裡面,我放到了d盤 d:\d\2.msbuild

2、使用命令列執行指令碼,執行命令列的時候注意一定要以管理員的身份執行

c:\windows\microsoft.net\framework64\v4.0.30319\msbuild "d:\d\2.msbuild" /p:environment=production

在命令提示符裡面執行上面語句:

第乙個引數:c:\windows\microsoft.net\framework64\v4.0.30319\msbuild msbuild的安裝的位置

第二個引數 "d:\d\2.msbuild" /p:environment=production 你自己寫的指令碼放在了什麼位置

執行命令最終輸出編譯後的檔案到 buildartifacts 資料夾裡面

3、將buildartifacts裡面的檔案拷貝到d:\d\buildartifacts\_publishedwebsites\centa.agency.hostservice\bin;

4.msbuild的原始檔

buildartifacts\\" />

"c:\program files (x86)\jenkins\workspace\...\centa.agency.service.sln"/>

release

any cpu

properties="outdir=%(buildartifactsdir.fullpath);

configuration=$(configuration);

platform=$(buildplatform)" />

5、執行的時候常遇到輸出的資料夾裡面沒有xx.xml,這時候新增引數/p:documentationfile=$(project).xml,最後需要自己寫命令列拷貝檔案了

c:\windows\microsoft.net\framework64\v4.0.30319\msbuild "d:\jenkinsrelease\agency\sz\sz-centa-agency-web-12013\script\cchrapi.msbuild" /p:environment=production  /p:documentationfile=$(project).xml

4 代替字元陣列中的空格

題目描述 解析 直觀的想法是,新建乙個陣列,逐個複製,遇到空格時,寫入 20,但這需要占用額外空間。不占用額外空間的演算法是原位替換。如果我們順序的遍歷字串,當遇到空格時,用 20替換空格,這將覆蓋掉空格後面的字元 如果覆蓋前,後移剩餘字串,那麼移動的時間複雜度為o n 2 因此,採用從後向前複製的...

IIS伺服器代替VS自帶的伺服器

我們將asp.net程式從iis6移植到iis7,可能執行提示以下錯誤 錯誤500.23 internal server error 檢測到在整合的託管管道模式下不適用的 asp.net 設定。為什麼會出現以上錯誤?在iis7的應用程式池有兩種模式,一種是 整合模式 一種是 經典模式 經典模式 則是...

雷電4 vs雷電3 vs USB 4

蘋果將其macbook連線標準從thunderbolt 3更改為 thunderbolt usb 4 很多小夥伴肯定奇怪了,thunderbolt 3和thunderbolt 4有什麼區別?什麼是usb 4?從蘋果使用者的角度來看,thunderbolt 4與thunderbolt 3沒有什麼不同,...