c# - 使用 MSBuild 从命令行定义预处理器值

标签 c# compiler-construction msbuild c-preprocessor

<分区>

我需要为包含多个项目的现有大型应用程序创建一个演示版本。我想使用现有的项目,并通过预处理器指令中性化功能

#if DEMO
    mycode.NeuterNow();
#endif

我们正在使用 MSBuild 构建我们的应用程序,理想情况下我会使用以下内容:

MSBuild -DefineProperty:DEMO MySolution.sln

是否存在这样的功能?

最佳答案

尝试

msbuild /p:DefineConstants=DEBUG;DEMO MySolution.sln

您必须包括 DEBUG 或 RELEASE 以及解决方案文件中已定义的任何其他常量,但我认为这应该可行。免责声明:我自己从未真正尝试过。

关于c# - 使用 MSBuild 从命令行定义预处理器值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/485237/

相关文章:

c# - 如何以分层方式保存 Visual Studio 项目扩展属性

c# - 保存已发送的短信

c# - 为什么我应该在 JSON 反序列化中使用 List<> 而不是数组?

c# - 在 Telerik Radgrid 中,如何根据组标题的数量对结果进行分页?

c# - visual studio 2015 中后台编译器的行为

asp.net - 使用 TFS 进行 MSBuild 在使用多个项目进行 ASP.NET 部署时失败

msbuild - NuGet 恢复覆盖签名的 DLL

c# - 通过更多地控制 URL 和信息来更好地控制 Web 浏览器?

c++ - 编译器 : limitation of lexical analysis

c++ - 相同 '==' 条件下的两个 'if' 相等运算符未按预期工作