VS2008部署了相同的项目但编译不同

时间:2011-07-15 14:55:03

标签: visual-studio-2008 deployment

我有1个vs2008解决方案,我需要为3个客户端部署。 每个客户端都有一个硬编码设置和它自己的应用程序图标,所以我编译了3个版本。

我现在每次都做的是更改应用程序图标,更改我的代码中的客户端设置并为每个客户端编译。我想每次都避免这些步骤。

有没有办法可以编译一次并在3个文件夹或不同名称中获得3个可执行文件? 或者有3个项目共享相同的代码?

1 个答案:

答案 0 :(得分:1)

正如Josh的评论所暗示的那样:这听起来像应用程序配置设置的工作。走这条路线,代码不需要为每个编译更改,只需更改已部署的配置文件。

但是,为了按原样回答您的问题,您可以使用配置管理器(“构建”菜单 - >“配置管理器”)来定义单独的解决方案配置。开箱即用,您可以获得调试和发布配置,但没有什么能阻止您创建自己的配置。在这些配置中,您可以在项目的Build设置中定义一个额外的编译符号/常量,然后在代码中使用该常量更改代码,所以,让我们:

  1. 定义三个解决方案配置Debug_A,Debug_B和Debug_C。
  2. 切换到Debug_A,打开项目属性,然后在“构建”选项卡上将“DEBUGA”定义为附加的条件编译符号。 (对于Debug_B和Debug_C重复它们自己的常量。)
  3. 最后,在代码中:

    string configValue = string.Empty; 图标图标= null; #if DEBUGA configValue = "A"; icon = Resources.IconA; #elsif DEBUGB    configValue =“B”;    icon = Resources.IconB; #elsif DEBUGC configValue = "C"; icon = Resources.IconC; #ENDIF