2

我们有两种不同的构建配置:调试和生产。

构建的一部分包括用于访问第三方站点的证书。在调试中,我们使用暂存证书,在生产中,我们使用实时生产证书。

如何确保在调试配置中构建解决方案时包含暂存证书,以及在其内置生产时包含生产证书?

编辑

这是我从 Scotty 的建议中得到的解决方案(已放入 Post-Build 事件命令行部分):

IF $(ConfigurationName) == Release copy $(ProjectDir)resources\prod.p12 $(TargetDir)resources

IF $(ConfigurationName) == Debug copy $(ProjectDir)resources\staging.p12 $(TargetDir)resources
4

2 回答 2

6

取决于您的“证书”如何包含在您的项目中。

如果它是 C/C++ 文件,请在解决方案资源管理器中右键单击该文件,打开 Properties > General > Excluded from Build。为您的 Debug 构建排除一个文件,为您的 Release 构建排除一个文件。

如果它是外部文件或命令,您可以为每个配置使用构建事件。打开您的项目属性 > 配置属性 > 构建事件 > 构建后事件(或其他事件,如果您愿意)。从那里你可以运行你想要的任何命令行。

于 2012-07-23T15:32:14.883 回答
-1

我认为您可以使用 DEBUG 指令来加载证书:

using System;
using System.Diagnostics;

 public class CertLoader
{
#if DEBUG
 public bool LoadStartingCert()
{
//...load it
}
//in other case load prod cert
}
于 2012-07-23T15:32:46.137 回答