誰でもC#コードで現在のビルド設定$(Configuration)を取得する方法を知っていますか?C#コードでのビルド設定
答えて
あなたは本当にそうではありません。 プロジェクト設定の[ビルド]ページを見て、そこに設定することができるので、テストするために#if文を書くことができます。
デバッグビルドの場合、DEBUGシンボルが自動的に挿入されます(デフォルトではオフにすることができます)。
だからあなたはあなたが良い理由をした場合を除きしかし、これをしないこの
#if DEBUG
RunMyDEBUGRoutine();
#else
RunMyRELEASERoutine();
#endif
ようなコードを書くことができます。デバッグビルドとリリースビルドの間で異なる動作をするアプリケーションは、誰にも悪いことではありません。
コンパイル時にアセンブリに組み込むことはできませんが、MSBuildを使用してアプリケーションの設定ファイルに追加する方法があります。
のMSBuildを使用してマルチ環境設定ファイルを実行する方法については、このブログ記事を参照してください - http://adeneys.wordpress.com/2009/04/17/multi-environment-config/
また、あなたが特定のコンパイル済みファイル(あなたのC#やVBファイル)を編集し、その実行を持っているでしょうのMSBuildタスクを書くことができBeforeBuild
タスクのあなたがそれをファイルに挿入する場所を調べる必要があるので、それはやるべきであるはずの何らかの種類のトークン設定が用意されていれば、やや難しいでしょう。私はそれが可愛いとは思わない!
右クリックメニューのプロジェクトをアンロードして</Project>
タグの直前に追加すると、設定が保存されているファイルが保存されます。その後、あなたのコードで使用するためにそれを読むことができます。
<Target Name="BeforeBuild">
<WriteLinesToFile File="$(OutputPath)\env.config"
Lines="$(Configuration)" Overwrite="true">
</WriteLinesToFile>
</Target>
私はVaccanoの溶液を使用しました。デバッグやリリースだけでなく、各ビルド構成に基づいていくつかの構成を動的に変更する必要があります。このソリューションは素晴らしいものです。ありがとう。 – MsBugKiller
これを達成するためにシンボルを使用できます。カスタムシンボルは、各プロジェクトの[プロパティ]> [ビルド設定]ペインで定義し、#ifディレクティブを使用してコード内でテストできます。
シンボルUNOEUROの定義方法とコード内での使用方法の例。
bool isUnoeuro = false;
#if UNOEURO
isUnoeuro = true;
#endif
- 1. C++コードでプロキシ設定を設定
- 2. C++のVSコード設定
- 3. condense c#dnnモジュール設定コード
- 4. CLIONでのビルド設定
- 5. コードでビルド設定からAndroidデバイスフィルタにアクセスする
- 6. コードバのビルド "設定ファイルからのビルド設定"の後で、iosがハングアップする
- 7. TFS 2015ビルド設定
- 8. Unityビルド設定エラー
- 9. Cocoapodsポッド安定ビルド設定
- 10. Visual StudioでC++プログラムをビルドするコード
- 11. Androidスタジオのビルド設定
- 12. 複合ビルドのリポジトリ設定
- 13. osxビルド設定の.frameworkファイル
- 14. Xcode 7のビルド設定
- 15. xcodeでのビルド設定の編集4
- 16. TFS 2015 - ビルド設定 - ビルド編集 - デフォルトキュードロップダウン
- 17. Apache HTTPモジュールをビルドするためのEclipse C++の設定
- 18. Ember CLIカスタムCMS設定でのビルド
- 19. C/C++用のWindowsビルド環境を設定する最良の方法
- 20. SBT共通ビルド設定
- 21. 証明書は、ビルド設定
- 22. ビルド後にEmber設定ファイル
- 23. 設定方法ServiceHostingEnvironment.AspNetCompatibilityEnabled = true(コードでは設定されていません).NET/C#
- 24. zendフレームワークでビルドを設定する値を設定する
- 25. ビルド設定でプロビジョニング設定が競合しています
- 26. Linux上のgdbのCまたはC++コードでブレークポイントをプログラムで設定する
- 27. ビルドでメインクラスを設定するには?
- 28. bazelでビルドする場合のC++標準バージョンの設定方法は?
- 29. WPF Textboxの背景色をC#コードで設定する
- 30. eclipse:C/C++ビルド/ビルダーの設定ページが無効(灰色)、設定を変更できない
Windowsサービス(/簡単にデバッグをインストールする必要はありません) – Scoregraphic
@Scoregraphic開発するときには役立つことがあります。しかし全く異なる動作をする(コマンドラインアプリ対サービス)!!! –
条件式が私のカスタム構成を見つけられないのはなぜですか?私はこのようなコードを持っています:#if WCFDebug/* my code */#endif - しかしそれは単にそれを見つけることはありません。設定内に設定を追加しました。 – FrenkyB