【问题标题】:DefineConstants works through CLI but not through VS2010 interface CL argumentsDefineConstants 通过 CLI 工作,但不能通过 VS2010 接口 CL 参数工作
【发布时间】:2016-03-30 05:28:21
【问题描述】:

我有一个简单的程序来查找预编译器常量:

#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 的原因是因为我希望能够在编写代码时快速测试并在各种构建之间切换。

我错过了什么?

【问题讨论】:

    标签: c# visual-studio-2010 msbuild c-preprocessor conditional-compilation


    【解决方案1】:

    项目属性 > 调试 > 命令行参数用于在应用程序构建后由 VS 运行时传递给应用程序的参数。它们不是 MSBuild 的论据。您需要转到项目属性 > 构建页面并更改“条件编译符号”以包含 TEST1。

    【讨论】:

      猜你喜欢
      • 2013-05-05
      • 1970-01-01
      • 2012-10-24
      • 2017-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多