[release/5.0.1xx-preview4] Single-File: Pass TFM Version to the Bundler#11518
Merged
Merged
Conversation
Contributor
Author
|
@dsplaisted I have posted the PR to revert the framework-bundle-processing change in the runtime repo dotnet/runtime#35679. After this, a small change was required in the SDK to support netcoreapp3.0 single file apps with current SDK. This is a part of #11502 you reviewed in the morning. Please take a look at it. I'll checkin the remaining parts of #11502 into master branch. Thanks. |
Customer Scenario A netcoreapp3.0 single file app published from .net5 SDK doesn't run. Problem The netcoreapp3.0 apphost encounters the wrong version of the bundle header when trying to extract the bundle. Solution Pass the TFM version argument to the bundler in GenrateBundle task. Risk Very Low.
3ee5dfe to
694bf08
Compare
dsplaisted
approved these changes
May 1, 2020
swaroop-sridhar
added a commit
to dotnet/runtime
that referenced
this pull request
May 1, 2020
This commit reverts: Revert "Single-File: Process bundles in the framework (#34274)" This reverts commit 78b303d. Revert "Single-File Bundler: Add a FileSize test (#35149)" This reverts commit 779588a. *Customer Scenario* Publishing apps as a self-contained single-file doesn't work as expected. * Publish needs to generate hostpolicy and hostfxr separate from the single file bundle * Cross-platform publishing is incorrect *Problem* Since Static-apphost is not yet ready, processing bundle content in hostpolicy means that hostpolicy and hostfxr DLLs need to be separate from the bundle. This causes self-contained single-file apps to not be a "single file" temporarily. The change also requires supporting changes from the SDK, to publish hostfxr and hostpolicy as separate files, and to invoke HostModel library with arguments that facilitate cross-platform publishing. *Solution* To solve these, problem, this change reverts: Revert "Single-File: Process bundles in the framework (#34274)" commit 78b303d. and a dependent test-only change: Revert "Single-File Bundler: Add a FileSize test (#35149)" commit 779588a. *Risk* Medium The change is contained to only host components: apphost, hostpolicy, and hostfxr. However, the change is big, and needs testing in runtime and SDK repos. *Testing* Manually tested the SDK by inserting apphost, hostfxr, hostpolicy, and hostmodel library from this build into the `dotnet/packs` preview-4 SDK from dotnet/sdk#11518 build. Verified that: * Singlefile apps can be published and run OK for { Windows, Linux, Osx } x {netcoreapp3.0, netcoreapp3.1, netcoreapp5.0} * Cross-targeting builds of single-file apps build and run OK (ex: built on Windos, run on Mac).
Member
|
This is part of the single file revert for preview 4, which was approved by tactics. Please merge once validation is complete. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Customer Scenario
A netcoreapp3.0 single file app published from .net5 SDK doesn't run.
Problem
The netcoreapp3.0 apphost encounters the wrong version of the bundle header when trying to extract the bundle.
Solution
Pass the TFM version argument to the bundler in GenrateBundle task.
Risk
Very Low.
Testing
Manually tested the SDK by inserting apphost, hostfxr, hostpolicy, and hostmodel library from dotnet/runtime#35679 into the
dotnet/packsfrom this build.Verified that netcoreapp3,0 apps published from this SDK run OK on Windows, Linux, Osx.
Verified that cross-targetting builds of such apps also work OK.