在 msbuild 的專案檔案 cspoj 或 xx.target 等檔案裡面,可以使用 condition 條件寫在很多標籤元素作為判斷
例如在 target 上面新增條件,只有條件滿足了才會執行
<
target name=
"lindexi" aftertargets=
"corecompile" condition=
"'$(configuration)|$(targetframework)'=='debug|net45'"
>
<
message text=
"林德熙是逗比"
>
<
/message>
<
/target>
下面將告訴大家一些常使用的判斷
請看**
condition=
"'$(configuration)'=='debug'"
這裡 configuration 的判斷是不區分大小寫的,預設寫的是debug
而debug
是用在條件編譯裡面
例如這樣寫
<
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中常見的條件判斷符總結歸納如下 常用檔案條件...