Skip to content

Add the FSharp and Managed ProjectCapabilties to project evaluation #14658

@baronfel

Description

@baronfel

Is your feature request related to a problem? Please describe.

Support for item template in the .NET template engine hinges on support for ProjectCapabilties - MSBuild items that signal support for a kind of functionality. We use these to determine which templates are valid for the given project. C# and VB both add ProjectCapabilities for their respective languages, as well as 'all managed languages' in the CurrentVersion targets for each language.

Describe the solution you'd like

I'd like for the F# props and targets to add <ProjectCapability Include="FSharp" /> and <ProjectCapability Include="Managed" /> into a location that is read during evaluation time (not a design-time build) so that advanced features in other product can 'light up' in the same way for F# as they do for C# and VB. C#/VB use Microsoft.LANG.CurrentVersion.targets, but I couldn't find a direct match for that for F#. Might need to consult with the MSBuild team to figure out the most relevant location.

It would be great if this could be scheduled for the 7.03xx/VS 17.6 timeframe.

Describe alternatives you've considered

None

References

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    New

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions