Skip to content

Figure out how to handle runtime packs for optional shared frameworks for iOS and Android #11289

@dsplaisted

Description

@dsplaisted

Right now, when we download runtime packs for a project, we download all possible runtime packs for the target framework. This happens whether or not the project uses them or not, because at restore time we don't yet know if there will be a transitive reference to any given shared framework.

We may have to refine this for iOS and Android. See discussion here of the ASP.NET Core runtime pack getting downloaded for Android.

One way to resolve this is to simply say that ASP.NET Core isn't available on iOS and Android, and never download it. There may be scenarios where it is desired, however.

Another solution is to have a feature in NuGet where the project passes in a mapping of shared frameworks to runtime packs. During restore, if a project depends on a shared framework via a transitive reference, NuGet would convert that to a PackageDownload for the corresponding runtime pack via the mapping. This would also allow us to fix some of the issues with compiling projects that reference WindowsDesktop on non-Windows PCs.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions