Skip to content

Referenced RCL project is built even though there are no recent changes to it #5069

@kichalla

Description

@kichalla

Repro:

  • Create a RP web application
  • Add a RCL project to the solution | reference this RCL project from the RP application
  • Build RP application
  • Update the RCL project's Page1.cshtml's title to something else
  • Build RP application (this is expected)
  • Build RP application again (you see that the RCL project is being built again even though there aren't any changes)

Build output (in sequence...check the title for more info):
https://gist.github.com/kichalla/6a099b89d4aad043a3971f3b43b4f157
https://gist.github.com/kichalla/a9e9a5eb952f7adde54e568ef79b57c1
https://gist.github.com/kichalla/d0f4337bad4137934362566cd436888b

When I enabled Info level logging, I see the following output:

1>FastUpToDate: Latest write timestamp on input is 5/1/2018 11:18:25 AM on 'C:\Users\kichalla\source\repos\WebApplication28\RCL\Areas\MyFeature\Pages\Page1.cshtml'. (RCL)
1>FastUpToDate: Earliest write timestamp on output is 5/1/2018 11:16:45 AM on 'C:\Users\kichalla\source\repos\WebApplication28\RCL\bin\Debug\netstandard2.0\RCL.dll'. (RCL)
1>FastUpToDate: Output is newer than input, not up to date. (RCL)
1>FastUpToDate: Project is not up to date. (RCL)
1>------ Build started: Project: RCL, Configuration: Debug Any CPU ------
1>You are working with a preview version of the .NET Core SDK. You can define the SDK version via a global.json file in the current project. More at https://go.microsoft.com/fwlink/?linkid=869452
1>RCL -> C:\Users\kichalla\source\repos\WebApplication28\RCL\bin\Debug\netstandard2.0\RCL.dll
1>RCL -> C:\Users\kichalla\source\repos\WebApplication28\RCL\bin\Debug\netstandard2.0\RCL.Views.dll
2>FastUpToDate: Latest write timestamp on input is 5/1/2018 11:16:45 AM on 'C:\Users\kichalla\source\repos\WebApplication28\RCL\bin\Debug\netstandard2.0\RCL.dll'. (WebApplication28)
2>FastUpToDate: Earliest write timestamp on output is 5/1/2018 11:16:52 AM on 'C:\Users\kichalla\source\repos\WebApplication28\WebApplication28\bin\Debug\netcoreapp2.1\WebApplication28.dll'. (WebApplication28)
2>FastUpToDate: Latest write timestamp on input marker is 5/1/2018 11:18:30 AM on 'C:\Users\kichalla\source\repos\WebApplication28\RCL\obj\Debug\netstandard2.0\RCL.csproj.CopyComplete'. (WebApplication28)
2>FastUpToDate: Write timestamp on output marker is 5/1/2018 11:16:57 AM on 'C:\Users\kichalla\source\repos\WebApplication28\WebApplication28\obj\Debug\netcoreapp2.1\WebApplication28.csproj.CopyComplete'. (WebApplication28)
2>FastUpToDate: Input marker is newer than output marker, not up to date. (WebApplication28)
2>FastUpToDate: Project is not up to date. (WebApplication28)
2>------ Build started: Project: WebApplication28, Configuration: Debug Any CPU ------
2>WebApplication28 -> C:\Users\kichalla\source\repos\WebApplication28\WebApplication28\bin\Debug\netcoreapp2.1\WebApplication28.dll
2>WebApplication28 -> C:\Users\kichalla\source\repos\WebApplication28\WebApplication28\bin\Debug\netcoreapp2.1\WebApplication28.Views.dll
========== Build: 2 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

Notice the following block...can it say 'Latest write timestamp' on both these lines? and also it should be input is newer than output?
1>FastUpToDate: Latest write timestamp on input is 5/1/2018 11:18:25 AM on 'C:\Users\kichalla\source\repos\WebApplication28\RCL\Areas\MyFeature\Pages\Page1.cshtml'. (RCL)
1>FastUpToDate: Earliest write timestamp on output is 5/1/2018 11:16:45 AM on 'C:\Users\kichalla\source\repos\WebApplication28\RCL\bin\Debug\netstandard2.0\RCL.dll'. (RCL)
1>FastUpToDate: Output is newer than input, not up to date. (RCL)
1>FastUpToDate: Project is not up to date. (RCL)

cc @pranavkm

Metadata

Metadata

Assignees

No one assigned

    Labels

    affected-mediumThis issue impacts approximately half of our customersarea-mvcIncludes: MVC, Actions and Controllers, Localization, CORS, most templatesbugThis issue describes a behavior which is not expected - a bug.feature-razor-pagesreevaluateWe need to reevaluate the issue and make a decision about itseverity-nice-to-haveThis label is used by an internal tool

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions