如何让MSBuild发出命令?

时间:2014-03-25 08:11:46

标签: msbuild

我有一个使用msbuild和Powershell构建的应用程序。 考虑到MSBuild文件遍布整个地方而且很多。我经常看到许多任务,如:

<Target Name="MyTarget" Inputs="..." Outputs="...">
  <Message Text="Compiling..."/>
  <Exec Command="..."/>
</Target>

我想让MSBuild打印他正在执行的命令。您在这些Command标记的Exec参数中存在复杂的字符串,其中使用此语法$(Variable)引用了许多变量。我需要看到msbuild正在执行的命令。

重复

请注意,对于msbuild打印输出的许多帖子,这不是一个重复的问题。这里我不关心命令输出,我想看看命令而不是它的输出。

1 个答案:

答案 0 :(得分:0)

您可以在属性中使用该命令,并使用Message任务

打印它
<Target Name="MyTarget" Inputs="..." Outputs="...">
  <PropertyGroup>
    <Command>dir.exe /w</Command>
  </PropertyGroup>

  <Message Text="Running command: '$(Command)'" Importance="high" />
  <Exec Command="$(Command)"/>
</Target>

或者:

使用Exec前缀echo命令:

 <Exec Command="echo command..."/>