创建预构建事件后,出现错误 "The Exec task was not given a value for the required parameter Command"

After creating Pre-build event, get error "The Exec task was not given a value for the required parameter Command"

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

powershell.exe -ExecutionPolicy ByPass -NoProfile -NonInteractive -File "./myscript.ps1"

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

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


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

The "Exec" task was not given a value for the required parameter "Command"


我试图将问题减少到最小“./myscript.ps1”来向您展示我的问题,并且 任何脚本 都会出现问题,甚至一个空的!

再说一次,无论 PS 脚本是什么,它都能正确给出输出。


为什么我的构建失败了,我可以做些什么来修复它,同时仍然是 运行 构建之前的脚本?

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

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

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

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

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