Visual studio 2017 创建预构建事件后,获取错误“;Exec任务没有为所需的参数命令“指定值”;

Visual studio 2017 创建预构建事件后,获取错误“;Exec任务没有为所需的参数命令“指定值”;,visual-studio-2017,post-build-event,pre-build-event,Visual Studio 2017,Post Build Event,Pre Build Event,我在Visual Studio 2017项目中添加了一些预构建脚本 它只是一个脚本,在控制台中输出一些信息 该脚本执行正确,无论是直接在我的Powershell控制台中启动还是从生成事件启动(我可以在VS中的“生成输出”面板中看到正确的输出) 执行后,生成失败,出现一个错误: “Exec”任务没有为所需参数“Command”指定值 我试图将问题减少到最小值“/myscript.ps1”来向您展示我的问题,而任何脚本都会出现问题,即使是空脚本 同样,无论PS脚本是什么,它都正确地给出了输出

我在Visual Studio 2017项目中添加了一些预构建脚本

它只是一个脚本,在控制台中输出一些信息

该脚本执行正确,无论是直接在我的Powershell控制台中启动还是从生成事件启动(我可以在VS中的“生成输出”面板中看到正确的输出)


执行后,生成失败,出现一个错误:

“Exec”任务没有为所需参数“Command”指定值


我试图将问题减少到最小值“/myscript.ps1”来向您展示我的问题,而任何脚本都会出现问题,即使是空脚本

同样,无论PS脚本是什么,它都正确地给出了输出



为什么我的生成失败,我可以做些什么来修复它,而在生成之前仍然运行脚本?

问题是由
.csproj
项目文件中的此条目引起的:

<Target Name="PostBuild" AfterTargets="PostBuildEvent">
  <Exec Command="" />
</Target> 

显然,我(或VS;))同时错误地为后期构建添加了一个空脚本

删除引用的条目解决了问题


感谢Hans Passant的评论,因为他指出了正确的方向。

我非常想知道为什么我因为改进/教育原因被否决。谢谢!在我的例子中,我有一个Exec标记,它的命令正在被清除,以防止生成后事件在自动化过程中运行。我想它不喜欢空白。因此,我将其设置为只打印一条快速语句,说明正在跳过后期构建,这很有效!
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
  <Exec Command="" />
</Target>