在 visual studio 中使用自定义构建配置

Using custom build configuration in visual studio

在我的客户端应用程序中,我有时会连接到 localhost:1242\SomeService.asmx,有时它会连接到 someDomain:1242\SomeService.asmx。换句话说,有时我想在本地进行测试,有时又想远程进行测试。

VS默认给你的选项是debug和release。我想创建自定义的,事实上我刚刚创建了一个新的构建配置:

无论如何,如果我正在使用该配置,我如何在代码中知道?

我想做这样的事情:

if(Configuration.Type == ConfigTypes.Local)
    ConectionString = "localhost:1242:\SomeService.asmx";
else if (Configuration.Type == ConfigTypes.Remote1)
    ConectionString = "SomeDomain1:1242:\SomeService.asmx";
else if (Configuration.Type == ConfigTypes.Remote2)
    ConectionString = "SomeDifDomain:1242:\SomeService.asmx";

发布模式也更高效?我将如何指定这些设置?

您可以定义条件编译符号。
项目属性 → 构建选项卡 → 条件编译符号
为不同的配置定义不同的符号,例如:

  • SRV_LOCAL在"Local"配置中;
  • SRV_REMOTE1在"Remote1"配置中;
  • SRV_REMOTE2 在 "Remote2" 配置中。

然后在代码中:

#if SRV_LOCAL
    private const string SERVER = "localhost";
#elseif SRV_REMOTE1
    private const string SERVER = "SomeDomain1";
#elseif SRV_REMOTE2
    private const string SERVER = "SomeDifDomain";
#endif