有誰知道如何在C#代碼獲取當前構建配置$(配置)?構建配置
Q
構建配置
10
A
回答
15
你不能,不是真的。 你可以做的是定義一些「條件編譯符號」,如果你看一下你的項目設置的「Build」頁面,你可以在那裏設置它們,所以你可以編寫#if語句來測試它們。
調試符號被自動注入(默認情況下,這可以被關斷),用於調試版本。
所以你可以這樣寫代碼
#if DEBUG
RunMyDEBUGRoutine();
#else
RunMyRELEASERoutine();
#endif
但是,除非你已經很好的理由不這樣做。在調試和發佈版本之間使用不同行爲的應用程序對任何人都沒有好處。
0
我不相信你可以注入在編譯時到組裝,但你可以實現它的一種方法是使用的MSBuild並將其添加到應用程序的配置文件。
看到這個博客張貼有關如何使用的MSBuild做多環境配置文件 - http://adeneys.wordpress.com/2009/04/17/multi-environment-config/
或者你可以寫一個MSBuild任務,將編輯某個編譯的文件(你的C#或VB文件),並具有運行在BeforeBuild
任務中。這將是相當棘手的,因爲你需要計算出將它注入文件的位置,但是假如你有一些標記化設置,你應該可以做到。我也懷疑它會很漂亮!
13
如果你卸載你的項目(在右鍵菜單),只是在</Project>
標籤可以節省出一個其中有您的配置文件之前添加此。然後,您可以將它讀回來以便在您的代碼中使用。
<Target Name="BeforeBuild">
<WriteLinesToFile File="$(OutputPath)\env.config"
Lines="$(Configuration)" Overwrite="true">
</WriteLinesToFile>
</Target>
5
條件編譯符號可以用來實現這一點。您可以爲每個項目定義自定義符號屬性>構建設置窗格,並使用#if指令在代碼中測試它們。
實施例示出了如何定義符號UNOEURO以及如何使用它的代碼。
bool isUnoeuro = false;
#if UNOEURO
isUnoeuro = true;
#endif
相關問題
- 1. Netbeans構建配置
- 2. 請配置構建
- 3. Java配置構建路徑
- 4. 管理構建配置
- 5. TeamCity快照構建配置
- 6. CMake Eclipse構建配置
- 7. TfvcTemplate.12.xaml構建配置
- 8. Expression Blend 3構建配置
- 9. Symfony的配置樹構建
- 10. DIY構建配置變換
- 11. 配置構建詹金斯
- 12. TFS 2015構建配置
- 13. iPhone構建配置 - Entitlements.plist
- 14. TFS2010:構建配置問題
- 15. Require.js構建優化配置
- 16. Android - 使用ant創建更改配置值的構建配置
- 17. 根據構建配置設置VS DefaultLocation
- 18. Visual Studio構建配置 - 防止重建
- 19. 爲構建配置顯示「沒有完成的構建」
- 20. Eclipse + CDT:如何批量構建多個構建配置
- 21. MVC構建 - 根據構建配置編輯connectionString文件(VS2012)
- 22. 基於構建或配置文件的城堡溫莎配置
- 23. 針對不同構建配置的log4net配置轉換
- 24. 將構建配置鏈接到發佈配置文件
- 25. TFS 2010構建配置轉換問題
- 26. TypeMock 7和構建服務器配置
- 27. maven的默認構建配置文件
- 28. 手動更改構建配置文件
- 29. 構建殭屍主配置錯誤
- 30. 構建多個項目配置與Eclipse
開發Windows服務(無需安裝/調試變得更加容易) – Scoregraphic 2009-05-06 12:38:21
@Scoregraphic時,它可以幫助:但是有相當不同的行爲(服務與命令行應用程序)! – 2009-05-06 12:49:03