我们有两种不同的构建配置:Debug和Production。
部分版本包含用于访问第三方网站的证书。在调试中,我们使用暂存证书,在生产中我们使用实时生产证书。
如何确保何时在调试配置中构建解决方案以包含登台证书以及何时在其内置生产中包含生产证书?
修改
这是Scotty建议的解决方案(这被放入Post-Build事件命令行部分):
IF $(ConfigurationName) == Release copy $(ProjectDir)resources\prod.p12 $(TargetDir)resources
IF $(ConfigurationName) == Debug copy $(ProjectDir)resources\staging.p12 $(TargetDir)resources
答案 0 :(得分:6)
取决于您的“证书”如何包含在您的项目中。
如果是C / C ++文件,请右键单击解决方案资源管理器中的文件,打开属性>一般> 从Build中排除。为Debug版本排除一个文件,为Release版本排除一个文件。
如果是外部文件或命令,则可以对每个配置使用构建事件。打开项目属性>配置属性>构建活动>建造后事件(或其他事件,如果你喜欢)。从那里你可以运行你想要的任何命令行。
答案 1 :(得分:-1)
我认为你可以使用DEBUG指令来加载证书:
using System;
using System.Diagnostics;
public class CertLoader
{
#if DEBUG
public bool LoadStartingCert()
{
//...load it
}
//in other case load prod cert
}