使用條件式編譯符號(Conditional compilation symbols)時,RELEASE居然沒效?
是什麼問題呢?
我們在程式中可以使用 條件式編譯符號 ,例如,當專案是debug時,要做什麼事;而Release時,要做那些事。
以下用簡單的Code來說明,
private void button1_Click(object sender, EventArgs e)
{
var s = string.Empty;
#if DEBUG
s = "debug";
#elif RELEASE
s = "release";
#else
s="non-debug and non-release";
#endif
Console.WriteLine(s);
}
筆者專案預設是Debug,所以s的值會是"debug",如下,
當我們將專案切換到Release時,您會發現,s的值居然變成了"non-debug and non-release",如下,
那是因為,專案中,Release時,並沒有設定條件式編譯符號。
所以這時,我們可以開啟專案屬性,切到Build的Tab,然後將RELEASE填入,如下,
存檔後,再切到Source檔來看,就會發現s字串的值,已經變成了"release"了,如下,
參考資料
Hi,
亂馬客Blog已移到了 「亂馬客 : Re:從零開始的軟體開發生活」
請大家繼續支持 ^_^