创建预构建事件后,出现错误“未为Exec任务提供所需参数Command的值”

Pac*_*ac0 1 post-build-event pre-build-event visual-studio-2017

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

预构建脚本

powershell.exe -ExecutionPolicy ByPass -NoProfile -NonInteractive -File "./myscript.ps1"
Run Code Online (Sandbox Code Playgroud)

这只是一个在控制台中输出一些信息的脚本。

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


执行后,构建失败并出现一个错误:

没有为“ Exec”任务提供所需参数“ Command”的值


我试图将问题减少到最小的“ ./myscript.ps1”,以向您展示我的问题,并且任何脚本(即使是空脚本)都出现了问题!

同样,无论PS脚本是什么,它都能正确输出输出。


为什么我的构建失败,并且在构建之前仍在运行脚本的同时该如何解决?

Pac*_*ac0 9

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

<Target Name="PostBuild" AfterTargets="PostBuildEvent">
  <Exec Command="" />
</Target> 
Run Code Online (Sandbox Code Playgroud)

显然,我(或VS;))错误地同时为PostBuild添加了一个空脚本。

删除引用的条目可以解决此问题。

感谢Hans Passant的评论指出了正确的方向。