【问题标题】:Call exe while building includes command name and arguments构建时调用 exe 包括命令名称和参数
【发布时间】: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 中,路径是完整的路径名,我喜欢使用相对路径名,因此我可以通过复制根文件夹来保留项目的备份。

标签: c# build


【解决方案1】:

这个变种对我有用:

  <PropertyGroup>
    <PreBuildEvent>"some.exe" "somecommand" "-opt=some option" "-opt2=one more opt"
</PreBuildEvent>
  </PropertyGroup>

【讨论】:

    猜你喜欢
    • 2020-01-30
    • 2020-02-18
    • 1970-01-01
    • 1970-01-01
    • 2019-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多