Skip to content

Xamarin.Mac Full needs to set new TFI to allow nuget targetting of Full #5480

@chamons

Description

@chamons

Today there are three "target frameworks" that Xamarin.Mac can target. However, you can only target two of them in nuget packages. This causes libraries that want to support Full but need platform specific libraries\native libraries significant pain.

After the discussion here and one with @mrward I believe the following are true:

  • Nuget needs a new Target Framework Identifier (TFI) set for Full projects instead of the current one to be able to to handle targettinging
  • However, we have many projects in the wild with existing tags.
  • A migration will be painful and likely "not worth it".

And that the following plan is feasible:

  • When UseXamMacFullFramework is true here we can change the TargetFrameworkIdentifier at build time.
  • Then nuget should see the new TFI and use those bits, or fall back as described in the PR

This change would add yet another bit of complication to the already non-trivial target framework system, and the chance for regressions and complications is non-trivial. However, it is the only viable path forward to allow nuget targetting.

VS bug #778613, VS bug #779016

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementThe issue or pull request is an enhancementmacOSIssues affecting macOSmsbuildIssues affecting our msbuild tasks/targetsvs-sync*Only use when triaging (not before)* Syncs this bug with VSTS

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions