【发布时间】:2020-06-23 08:53:13
【问题描述】:
我需要在 Pre-build 事件中调用 *.exe 文件并为 *.exe 定义命令和参数。我试着这样做:
<PropertyGroup>
<PreBuildEvent>cmd /c D:\...\File.exe commandname -tt="option" -opt="option2"</PreBuildEvent>
</PropertyGroup>
当我开始重建时,什么也没发生。应用已成功重建,但 .exe 从未调用。
UPD
我也试过这样,但-opt在执行时为空:
<PreBuildEvent>call D:\...*.exe generate -opt="option"</PreBuildEvent>
【问题讨论】:
-
你为什么要启动一个shell只是为了运行一个程序?为什么不直接运行程序?
-
用记事本打开项目 csproj 文件,确保正在引用预构建事件。您可能需要进行干净的构建,因为中间对象没有更改,并且依赖项是对象日期的函数。
-
@Neil 这只是我的尝试之一。我也试过
cmd "..exe"和call "...exe" -
@jdweng 可能是我对你的理解不正确,但是在
*.csproj中定义并存在构建事件。 -
是的。您在 Visual Studio 中使用的所有设置都保存在 csproj 中。我发现浏览 csproj 比浏览 VS 中的所有菜单更容易。 csproj 是文本,可以用记事本打开。我有时会在必要时编辑 csproj。在 VS 中,路径是完整的路径名,我喜欢使用相对路径名,因此我可以通过复制根文件夹来保留项目的备份。