Enable Ready To Run option for ClickOnce publish #6244
Merged
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.
Fixes #
Context
VS Publish providers supports an option called ReadyToRun (R2R) by compiling application assemblies as ReadyToRun format.
ClickOnce publishing does not support this option.
Changes Made
The change adds support for enabling R2R option in ClickOnce publish.
To do so, the _DeploymentComputeClickOnceManifestInfo ClickOnce target checks the PublishReadyToRun property when PublishSingleFile is not enabled (loose files scenario). If it is true, then it will replace the R2R'ed assemblies within ClickOnceFile group with the corresponding R2R assemblies from the obj...\R2R folder.
In addition, it calls SignFile task to sign the R2R application image.
Testing
CTI has testing the R2R configuration with top 50 NuGet packages. In addtion, other normal ClickOnce publish scenarios have been tested with top 50 NuGet packages for regresssions.
Notes
Risk: Low since change are scoped to the ReadyToRun scenario only.