我需要使用配置创建项目的多个版本,就像我们使用#define
,#if
,#endif
一样。
使用这些预处理程序指令的缺点是我需要在项目的几乎每个文件中定义符号,但我想通过构建配置来处理这个问题。
我甚至不确定Build Configurations是否能帮助我做到这一点。
我想要的是如果我创建名为“Development”的配置和其他名称为“QA”的配置,我的代码将如下所示:
if #Development or if $QA
请指导我实现这一目标。
答案 0 :(得分:9)
出于这个原因,存在Configuration Manager。
#if DEVELOPMENT
的每个项目的属性页面
条件编译并在BUILD选项卡的第一个文本框中插入DEVELOPMENT符号现在,您的每个项目都可以使用#if DEVELOPMENT预处理程序指令
如果您还需要RELEASE,请重复上述步骤,但从预定义的RELEASE配置中复制并提供不同的名称
现在,可以直接从Visual Studio标准工具栏中的解决方案配置组合工具切换定义或不定义开发符号的配置,而无需编辑每个项目。
您还可以查看MSDN文章How to: Create and Edit Configurations
答案 1 :(得分:0)
除了Michael Freidgeim的解决方案,您还可以使用属性conditional
进行集中的初始化操作或其他无效功能:
[Conditional("DEVELOPMENT")]
public static void InitDemo()
{
Models.LogFile.ErrorLog("This is a Development Version!");
// init settings
}
在此处找到:http://msdn.microsoft.com/de-de/library/4xssyw96%28v=vs.80%29.aspx