2024年7月18日 星期四

AssemblyInfo.cs 依據環境產生對應組件或應用程式編號

以前都是針對設定檔依據不同環境有對應的檔案,或是安裝SlowCheetah 套件,可以將各類型

的設定檔依據組態產出對應的檔案;但若是組件(.dll)或是應用程式(.exe) 需要依據環境產生不同

的編號,可以怎麼做的呢?動手紀錄一下...



測試過後,這類型程式碼來區分的僅能透過條件式編譯來達到效果,同樣組態設定是一定要的,

先來看一下組態設定


組態的部分預設會有 Debug 與 Release ,再來新增兩組分別是 Beta 及 Stage,其中兩者都

必須以 Release 為範本建立


建立後開啟方案屬性頁,切換到「建置」功能,在條件式編譯符號加入對應參數,如下圖




比較特別的是,預設 Debug 或 Release 是不用特別設定編譯符號的,內建會自動識別


再來就是看一下 AssemblyInfo.cs 檔案該如何設計

此時先切到 Beta 組態


程式碼的部分搭配條件式編譯以及對應的參數


由以上圖片可以看出,Beta 區塊亮燈,代表此時這邊程式是有效的,產生的dll 或應用程式

也僅會包含這段程式,其他反灰的不會被納入,就不用擔心非該版本的程式碼流出


須注意條件式的寫法,如下所示,不管組合如何最後都要下 #endif


#if

#elif

#else

#endif



參考

沒有留言:

張貼留言