Skip to content

Traversal projects don't work with the Visual Studio Fast Up-to-date Check #594

@drewnoakes

Description

@drewnoakes

VS's fast up-to-date check (FUTDC) performs a quick file timestamp check on a projects inputs and outputs to determine whether it needs to call MSBuild. When it can avoid doing so, builds are much faster.

However, this requires having both inputs and outputs to compare against.

Normally, building a project twice should make the second build a no-op. For a traversal project, the project will eternally be considered out-of-date.

Logging shows:

Output 'D:\repo\MyTraversalProject\Debug\net472\MyTraversalProject.dll' does not exist, not up-to-date.

This problem might be addressed by having the build for this project produce a dummy file in the intermediate (obj) folder, and referencing that file as a UpToDateCheckOutput item. On every build, touch that file.

It'll also have to stop listing the non-existent output file as an expected output.

For more info on this, see https://github.com/dotnet/project-system/blob/main/docs/up-to-date-check.md.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions