有谁知道如何在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. TeamCity从不同的构建配置运行构建配置
- 4. visual studio,构建配置:如何构建基于另一个构建配置
- 5. Maven Report配置与构建配置
- 6. Ant构建文件配置
- 7. TFS 2015构建配置
- 8. 用Jenkins配置Qt构建
- 9. DIY构建配置变换
- 10. 配置构建詹金斯
- 11. iPhone构建配置 - Entitlements.plist
- 12. TfvcTemplate.12.xaml构建配置
- 13. 管理构建配置
- 14. 构建配置和Android NDK
- 15. TeamCity快照构建配置
- 16. Teamcity自动构建配置
- 17. CMake Eclipse构建配置
- 18. Dojo构建包配置
- 19. Java配置构建路径
- 20. Expression Blend 3构建配置
- 21. TeamCity的构建链配置
- 22. Symfony的配置树构建
- 23. TFS2010:构建配置问题
- 24. Android - 使用ant创建更改配置值的构建配置
- 25. Visual Studio构建配置 - 防止重建
- 26. 无法创建新的构建配置
- 27. 根据构建配置设置VS DefaultLocation
- 28. 将构建配置设置为登台
- 29. 如何配置tfs构建代理来构建发布配置文件?
- 30. TeamCity在多个构建配置之间共享构建号
开发Windows服务(无需安装/调试变得更加容易) – Scoregraphic 2009-05-06 12:38:21
@Scoregraphic时,它可以帮助:但是有相当不同的行为(服务与命令行应用程序)! – 2009-05-06 12:49:03