Skip to content

Conversation

@swaroop-sridhar
Copy link
Contributor

@swaroop-sridhar swaroop-sridhar commented Apr 30, 2020

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).
This commit reverts: Revert "Single-File: Process bundles in the framework (dotnet#34274)" This reverts commit 78b303d. Revert "Single-File Bundler: Add a FileSize test (dotnet#35149)" This reverts commit 779588a.
@ghost
Copy link

ghost commented Apr 30, 2020

Tagging subscribers to this area: @vitek-karas, @swaroop-sridhar
Notify danmosemsft if you want to be subscribed.

@swaroop-sridhar
Copy link
Contributor Author

I am testing this change locally with the Preview 4 SDK, will update the description once this is complete,

Copy link
Member

@jeffschwMSFT jeffschwMSFT left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@swaroop-sridhar
Copy link
Contributor Author

I've completed the manual testing of this change locally, details are added to the description.

@jeffschwMSFT
Copy link
Member

@swaroop-sridhar we got approval yesterday to merge. Please merge once we are done with validation.
cc @mmitche @richaverma1

@swaroop-sridhar swaroop-sridhar merged commit 47ec733 into dotnet:release/5.0-preview4 May 1, 2020
@ghost ghost locked as resolved and limited conversation to collaborators Dec 9, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

3 participants