MSBuild 如何检查目标是否是最新的?

发布于 2024-11-28 11:14:26 字数 174 浏览 1 评论 0原文

MSBuild 针对最新目标发出以下消息:

Skipping target "MyTarget" because all output files are up-to-date with respect to the input files.

实际检查是如何执行的?

MSBuild emits the following message for up to date targets:

Skipping target "MyTarget" because all output files are up-to-date with respect to the input files.

How is the actual check performed?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

滥情空心 2024-12-05 11:14:26

检查增量构建的流程:

目标元素可以同时具有 Inputs 属性,该属性指示
目标项目是什么>期望作为输入和输出属性,
指示它产生哪些项目作为输出
MSBuild 尝试查找一对一映射
这些属性的值之间。如果存在一对一映射,
MSBuild 将每个输入项的时间戳与时间戳进行比较
其相应的输出项。没有 1 对 1 的输出文件
映射与所有输入文件进行比较。考虑一个项目
如果其输出文件与输入文件相同或更新,则为最新
文件或多个文件。

如果所有输出项都是最新的,MSBuild 将跳过目标。这
目标的增量构建可以显着改善构建
速度。如果只有部分文件是最新的,MSBuild 会执行目标
但会跳过最新的项目,从而带来所有项目
最新。这称为部分增量构建。

Check flow of Incremental Build:

A target element can have both an Inputs attribute, which indicates
what items the target > expects as input, and an Outputs attribute,
which indicates what items it produces as output
MSBuild attempts to find a 1-to-1 mapping
between the values of these attributes. If a 1-to-1 mapping exists,
MSBuild compares the time stamp of every input item to the time stamp
of its corresponding output item. Output files that have no 1-to-1
mapping are compared to all input files. An item is considered
up-to-date if its output file is the same age or newer than its input
file or files.

If all output items are up-to-date, MSBuild skips the target. This
incremental build of the target can significantly improve the build
speed. If only some files are up-to-date, MSBuild executes the target
but skips the up-to-date items, and thereby brings all items
up-to-date. This is known as a partial incremental build.

_失温 2024-12-05 11:14:26

MSBuild 比较输入和输出文件时间戳以确定文件是否是最新的。有关详细信息,请参阅增量构建

MSBuild compares the input and output file timestamps to determine whether a file is up to date. See Incremental Builds for details.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文