我有一个简单的程序来查找预编译器常量:
#if TEST1
MessageBox.Show("TEST1");
#endif
现在,如果我通过CLI构建以下内容,那么事情就像预期的那样。消息框显示“TEST1”。
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild" "C:\tests\TestBuildConstants\TestBuildConstants.sln" /p:OutDir="C:\tests\TestBuildConstants" /p:DefineConstants="TEST1" /t:Rebuild
但是,如果我去项目属性 - >调试 - >命令行参数,并输入:/p:DefineConstants="TEST1" /t:Rebuild
,一旦我运行程序,它就拒绝传递常量。
我想要像这样通过VS GUI的原因是因为我想在我编码时能够快速地测试和切换各种构建。
我错过了什么?
答案 0 :(得分:1)
项目属性>调试>命令行参数用于在VS运行应用程序后构建的参数。它们不是MSBuild的参数。您需要转到项目属性>构建页面并更改"条件编译符号"包括TEST1。