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

msbuild Target元素-如果输入中的文件不存在怎么办

  •  1
  • Bob  · 技术社区  · 7 年前

    Target Element (MSBuild)

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

    问题
    如果有一个文件 Inputs 那根本不存在?
    是否会考虑目标 太 土 了 ?

    1 回复  |  直到 7 年前
        1
  •  3
  •   Martin Ullrich    7 年前

    当前的首要任务是在缺少输入的情况下建立增量目标。也就是说,当无法找到输入列表中的文件时,目标将被视为过期。

    此行为在中实现 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)" ).