msbuild 專案檔案常用判斷條件

2021-09-26 23:32:35 字數 1861 閱讀 2358

在 msbuild 的專案檔案 cspoj 或 xx.target 等檔案裡面,可以使用 condition 條件寫在很多標籤元素作為判斷

例如在 target 上面新增條件,只有條件滿足了才會執行

<

target name=

"lindexi" aftertargets=

"corecompile" condition=

"'$(configuration)|$(targetframework)'=='debug|net45'"

>

<

message text=

"林德熙是逗比"

>

<

/message>

<

/target>

下面將告訴大家一些常使用的判斷

請看**

condition=

"'$(configuration)'=='debug'"

這裡 configuration 的判斷是不區分大小寫的,預設寫的是debugdebug是用在條件編譯裡面

例如這樣寫

<

propertygroup condition=

" '$(configuration)' == 'debug'"

>

blog.lindexi.com<

/mainprojectpath>

<

/propertygroup>

請看**

condition=

"'$(configuration)'!='debug'"

也就是上面**反過來判斷不是在除錯下編譯

另乙個判斷方法請看**,這是不推薦的判斷方法

condition=

"'$(configuration)'=='release'"

這個不推薦的寫法,一般只有除錯下和非除錯下,用上面的寫法可能有逗比寫了release-x於是就判斷不是發布下,此時就沒有做發布的優化

判斷在 .net framework 4.5 執行

condition=

"'$(targetframework)'=='net45'"

對應的判斷 .net standard 使用如下縮寫netstandard1.0

需要同時生效有兩個寫法,如判斷只有在 .net framework 4.5 同時在除錯下

condition=

"'$(configuration)|$(targetframework)'=='debug|net45'"

第二個方法是使用關鍵字 and 連線

condition=

" '$(targetframework)'=='net45' and $(configuration)=='debug'"

兩個條件的或判斷使用關鍵字 or 連線

condition=

" '$(targetframework)'=='net45' or $(configuration)=='debug'"

更多判斷請看

roslyn 在專案檔案使用條件判斷

msbuild 如何編寫帶條件的屬性、集合和任務 condition? - walterlv

target frameworks

MSBuild 常用引數

一般的 msbuild 在編譯的時候都會新增很多引數,用法如下 進入對應編譯的 sln 或 csproj 檔案所在的資料夾,執行下面命名 msbuild如果在資料夾裡面存在多個不同的 sln 檔案等,在 msbuild 後面新增對應的檔案 msbuild xx.sln此外新增的引數寫在 msbuil...

如何通過命令列 msbuild 編譯專案

本文告訴大家如何通過 msbuild 編譯乙個專案,通過命令列編譯可以輸出更多的編譯資訊,可以用來除錯自己寫的編譯相關方法,可以看到是哪個檔案編譯失敗 在開始選單可以找到 visualstudio 的安裝資料夾,基本上開發者命令列的英文名叫 developer command prompt 中文名是...

shell中常用檔案條件判斷

在shell指令碼經常碰到if的條件判斷語句,中括號中會出現 f d等用於判斷一些變數和檔案,例如 if x tmp fh before preconfig.sh x在此處就是用於判斷 fh before preconfig.sh是否可執行 現將shell中常見的條件判斷符總結歸納如下 常用檔案條件...