【问题标题】:msbuild Target element - what if a file in Inputs does not existmsbuild 目标元素 - 如果 Inputs 中的文件不存在怎么办
【发布时间】:2018-01-27 21:47:29
【问题描述】:

Target Element (MSBuild)

输入:可选属性。 形成此目标的输入的文件。多个文件用分号分隔。文件的时间戳将与输出中文件的时间戳进行比较,以确定目标是否是最新的。有关详细信息,请参阅增量构建、如何:增量构建和转换。

问题
如果Inputs 中的文件实际上并不存在,会发生什么情况?
目标是否会被视为过期

【问题讨论】:

    标签: msbuild


    【解决方案1】:

    当前的行为是在缺少输入时构建增量目标。也就是说,当无法找到输入列表中的文件时,目标将被视为过期。

    此行为在TargetUpToDateChecker 中实现,并产生如下日志消息:

    Building target "Build" completely.
    Input file "input1.txt" does not exist.
    

    请注意,虽然丢失文件会导致重建,但更改输入元素的文件并不重要 - 例如当第一个版本有Inputs="a.txt;b.txt" 而第二个版本有Input="a.txt" 时,目标仍然是最新的。这可能发生在输入列表由使用模式创建的项目填充的情况下(例如<Foo Include="*.txt" /> 项目和Input="@(Foo)")。

    【讨论】:

      猜你喜欢
      • 2022-06-13
      • 2010-10-06
      • 1970-01-01
      • 1970-01-01
      • 2019-01-22
      • 1970-01-01
      • 1970-01-01
      • 2022-06-29
      • 2015-05-14
      相关资源
      最近更新 更多