Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The
Input
/Output
values previously specified on_BlazorCopyFilesToOutputDirectory
could lead to corrupted builds, because this kind of incrementalism skips processing files where the output is newer than the input. The incrementalism we really want here is skipping items where the output is the same as the input (so we do copy if it's either older or newer).As an example of how it was broken before:
<BlazorLinkOnBuild>false</BlazorLinkOnBuild>
<somenupkgdir>/mscorlib.dll
, output=bin/.../mscorlib.dll
.bin/.../mscorlib.dll
, and you just generated it using the linker in step 1, the output file will be newer than the input, hence it will skip copying thisIt could even break when you upgrade to new packages, even if you're always using the linker. Example:
<somenupkgdir>/SomeDependency.dll
, output=bin/.../SomeDependency.dll
.bin/.../SomeDependency.dll
on your previous build a few minutes ago, its timestamp could be newer than the file from your NuGet package cacheI think the fix is to copy whenever the file is different, regardless of whether it's newer or older. This is already handled by the
<CopyTask>
, since we specifySkipUnchangedFiles
by default. So we just have to remove the input/output declarations from_BlazorCopyFilesToOutputDirectory
and let<CopyTask>
take care of the incrementalism.