Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Developers want to be confident that their apps run successfully when trimmed to avoid debugging trimming related problems at runtime #43078

Closed
16 of 19 tasks
agocke opened this issue Oct 6, 2020 · 9 comments
Assignees
Labels
area-Meta linkable-framework Issues associated with delivering a linker friendly framework Priority:0 Work that we can't release without Team:Libraries Team:Runtime User Story A single user-facing feature. Can be grouped under an epic.
Milestone

Comments

@agocke
Copy link
Member

agocke commented Oct 6, 2020

In 5.0 we introduced linker capability to warn about code and patterns which are not trimming safe. We will build on top of that feature to resolve all warnings in our core SDKs to allow developers to enable this linker capability for their code and 3rd party libraries to give them confidence that trimming does not alter their app behaviour unexpectedly.

We'll also work on further enhancing the warning user experience to give the developers feedback about potential problems in their app as early as possible.

The primary goal for .NET6 is to have all linker related warnings resolved for core SDKs for all workloads which use publish with trimming enabled by default. In particular following workloads

  • Blazor Client/WebAssembly
  • Mobile iOS/tvOS (Xamarin.iOS)
  • Mobile Android (Xamarin.Android)
  • macOS UI (Xamarin.Mac)
  • Hybrid Blazor (optional)

Work Items

Partner dependencies:

MaciOS

@Dotnet-GitSync-Bot Dotnet-GitSync-Bot added area-Meta untriaged New issue has not been triaged by the area owner labels Oct 6, 2020
@agocke agocke added Epic Groups multiple user stories. Can be grouped under a theme. and removed untriaged New issue has not been triaged by the area owner labels Oct 6, 2020
@agocke agocke added this to the 6.0.0 milestone Oct 6, 2020
@marek-safar marek-safar added the linkable-framework Issues associated with delivering a linker friendly framework label Oct 6, 2020
@samsp-msft samsp-msft added Team Epic and removed Epic Groups multiple user stories. Can be grouped under a theme. labels Oct 19, 2020
@agocke agocke changed the title "Linkable framework" for Console & ASP.NET apps "Linkable framework" for netcoreapp Oct 23, 2020
@danmoseley danmoseley added the User Story A single user-facing feature. Can be grouped under an epic. label Nov 16, 2020
@agocke agocke added the Priority:1 Work that is critical for the release, but we could probably ship without label Nov 16, 2020
@danmoseley
Copy link
Member

@eerhardt this would be the parent story for most of your v-team's work -- any sub work items can be children of this (they will appear in themes tree) or at least checkboxes in this or a child issue similar to what we did for Nullability annotations. When you are ready to can you please link such child items, etc so all necessary work is represented here or in its children?

@marek-safar marek-safar changed the title "Linkable framework" for netcoreapp Developers want to be confident that their apps run successfully when trimmed to avoid debugging trimming related problems at runtime Nov 27, 2020
@eerhardt
Copy link
Member

eerhardt commented Dec 7, 2020

at least checkboxes in this or a child issue similar to what we did for Nullability annotations

For the ILLink warnings burndown, I've created #45623 (which is linked above). It will be used to check off assemblies as we get them ILLink warning "clean".

@marek-safar marek-safar added Priority:0 Work that we can't release without and removed Priority:1 Work that is critical for the release, but we could probably ship without labels Dec 9, 2020
@marek-safar
Copy link
Contributor

Changed priority to P0 to align with Xamarin needs

@danmoseley
Copy link
Member

@agocke I have marked this 'committed'. LMK if that's not correct but surely it is. There may be some of the child work items that are aspirational but we are committed to this story

@smagurauskas
Copy link

Is there a plan to make trimming feature available not only for self-contained deployments?

@marek-safar
Copy link
Contributor

@tomkaa what would be the scenario where you would like to use the trimming?

@smagurauskas
Copy link

@marek-safar For example: I am developing ASP.NET Core application which has some NuGet packages installed and use framework-dependent deployment model. Some of the assemblies from NuGet are only used as middleware for local debugging. I have these middleware registrations surrounded with #if DEBUG, so in Release build these assemblies are technically not referenced anywhere, but I still have them in csproj so they get copied anyway. Current solution is to surround the <PackageReference ...> with <ItemGroup> and add Condition attribute that includes it only when configuration is DEBUG. However I think it would be great quality of life improvement if these could be trimmed automatically, even for framework dependent deployment.

@eerhardt
Copy link
Member

@agocke - do you think this issue can now be closed? The only issue under "Work Items" that is still open is #39274. We can track adding other platforms in that issue.

@agocke
Copy link
Member Author

agocke commented Jul 30, 2021

Yup, I think this is ready to close.

@agocke agocke closed this as completed Jul 30, 2021
@ghost ghost locked as resolved and limited conversation to collaborators Sep 15, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-Meta linkable-framework Issues associated with delivering a linker friendly framework Priority:0 Work that we can't release without Team:Libraries Team:Runtime User Story A single user-facing feature. Can be grouped under an epic.
Projects
No open projects
Development

No branches or pull requests

8 participants