使用“构建配置”在Visual Studio中创建项目的多个版本

时间:2012-04-10 09:57:10

标签: c# visual-studio-2010 configuration build-process preprocessor-directive

我需要使用配置创建项目的多个版本,就像我们使用#define#if#endif一样。

使用这些预处理程序指令的缺点是我需要在项目的几乎每个文件中定义符号,但我想通过构建配置来处理这个问题。

我甚至不确定Build Configurations是否能帮助我做到这一点。

我想要的是如果我创建名为“Development”的配置和其他名称为“QA”的配置,我的代码将如下所示:

if #Development or if $QA

请指导我实现这一目标。

2 个答案:

答案 0 :(得分:9)

出于这个原因,存在Configuration Manager。

  • 转到Configuration Manager并创建新配置 从预定义的DEBUG配置中复制
  • 将配置命名为DEVELOPMENT并应用于所有项目
  • 选择作为活动配置的开发配置(应该已经是 活跃的))
  • 转到需要#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