dotnet / dotnet/fsharp

Add the `FSharp` and `Managed` ProjectCapabilties to project evaluation

Open
#14,658 2 comments 4 reactions 0 assignees View on GitHub
Area-ProjectsAndBuild Feature Request
Dominant language
F#
Stars
4.3k
Forks
876
Avg merge
4d 22h
Merged PRs (30d)
144

Description

**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 `` and `` 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

* template engine tracking issue: https://github.com/dotnet/templating/issues/5844

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.