0

我有一個簡單的程序來尋找預編譯常量:DefineConstants致力於通過CLI而不是通過VS2010接口CL參數

#if TEST1 
    MessageBox.Show("TEST1"); 
#endif 

現在,如果我通過構建CLI以下,按預期的東西。消息框顯示「TEST1」。

"C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild" "C:\tests\TestBuildConstants\TestBuildConstants.sln" /p:OutDir="C:\tests\TestBuildConstants" /p:DefineConstants="TEST1" /t:Rebuild

但是,如果我去項目屬性 - >調試 - >命令行參數,並輸入:/p:DefineConstants="TEST1" /t:Rebuild,它拒絕通過不斷一旦我運行程序。

我想通過VS GUI這樣做的原因是因爲我想快速地測試和編譯各種構建之間的切換。

我錯過了什麼?

回答

1

項目屬性>調試>命令行參數用於參數傳遞給應用程序,當它由VS運行時生成。他們不是MSBuild的參數。您需要轉到項目屬性>構建頁面並將「條件編譯符號」更改爲包含TEST1。

+0

非常感謝。 –