代码之家  ›  专栏  ›  技术社区  ›  RichieHindle

为什么我的自定义生成步骤没有在visualstudio中运行?

  •  12
  • RichieHindle  · 技术社区  · 14 年前

    我有一个visualstudio项目,其中有几个自定义的构建步骤,但其中一些只是无法运行。没有错误和警告,根据构建日志,它们

    (在VisualStudio2010之前的版本中都可以使用,但在VisualStudio2010和更高版本中会出错。)

    2 回复  |  直到 6 年前
        1
  •  25
  •   RichieHindle    6 年前

    它失败的原因是 另一个 调用批处理文件的同一项目中的自定义生成步骤,如下所示:

    命令行:构建一些东西.bat什么的。h
    描述:建造某物
    输出:某物

    从VisualStudio2010开始,所有自定义生成命令都连接到一个批处理文件中,然后执行该文件。当一个批处理文件运行另一个批处理文件时,Windows不会将控制权返回给第一个批处理文件。它就像一个goto,而不是一个函数调用。所以要解决这个问题,你需要使用 call

    命令行: 呼叫 构建一些东西.bat什么的。h

    使控制流返回到visualstudio的批处理文件,从而允许运行其他自定义生成步骤。

    (我正在回答我自己的问题,以便将来的搜索者能找到答案。)

        2
  •  -1
  •   Dmitriy rajalaxmi    7 年前

    确保以下两个文件处于良好状态。最好将这些文件与正在运行的VS设置进行比较。

    C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.Cpp.Platform.targets
    
    C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets
    
    推荐文章