请考虑以下场景:我有一个C ++文件,我们从C#调用该C ++代码。在C ++文件中,有一个标志
#define HasFeature
我希望在生产代码中未定义此标志,并且只在我的测试代码中我想激活它们。在测试完成后,我希望它再次未定义。
我知道它是一个编译时功能,在运行时编辑它是不可能的。 由于其他原因,我无法将#define转换为类成员。
我可以想到添加两个文件的一件事,其中一个是定义了标志,其中一个标志是未定义的,在test.proj中使用带有标志定义的文件,而production.proj使用带有标志的文件未定义。这可能在Visual Studio中吗?如果是这样我该怎么办? (也许在csproj等中使用了一些功能?)
提前谢谢。
答案 0 :(得分:0)
您可以在构建中使用命令行参数定义标志:
/p:DefineConstants="HasFeature"
通过这种方式,您只需在测试版本中设置此项,并在生产构建定义中删除此参数。