fsprojects / FSharp.Formatting

F# tools for generating documentation (Markdown processor and F# code formatter)
https://fsprojects.github.io/FSharp.Formatting/
Other
462 stars 155 forks source link

Use `Microsoft.Build.Locator` and stop bundling MSBuild assemblies in the CLI tool. #791

Open teo-tsirpanis opened 1 year ago

nojaf commented 1 year ago

Hello @teo-tsirpanis, thank you for opening this issue.

As a general remark, I would be on board with this. Alas, actually doing this would be a bit more complicated. We currently use FSharp.Compiler.Service, 42.7.101 which has a direct dependency on the MSBuild packages.

The F# team has removed this dependency in https://github.com/dotnet/fsharp/pull/14341 but they never published a release with this on NuGet.

They did publish a preview version with this. But that one has an exact dependency on FSharp.Core 7.0.1-beta.22569.1. And that version of FSharp.Core was not published to NuGet. Making the preview very useless altogether.

This all is extremely frustrating and in my opinion, cripples the entire F# eco-system. The topic is very sensitive when I try to discuss this with the F# team I can't say I feel heard.

nojaf commented 1 year ago

In https://github.com/fsprojects/FSharp.Formatting/pull/796 we don't use Microsoft.Build.Locator, but the MSBuild assemblies are no longer bundled into the CLI tool.