-
Notifications
You must be signed in to change notification settings - Fork 789
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Consider deprecating desktop framework version of the F# compiler and FSI program #17195
Comments
Just in case the deprecation eventually turns into not shipping/no ability to select the compiler, this is a blocking ticket with no workaround: #10323 This also impacts compiling web application projects using "dotnet watch" (or any "dotnet" command), where I have to resort on to using a custom fsc.props: |
@smoothdeveloper --- we would continue to ship a desktop compiler - though it would not be installed by default, however, it would be a frozen in time compiler at F# 8.0, and it would only take security fixes. This would be similar to the FSharpSdk package for legacy FSharp.Cores and FSharp.Data that we ship, although they are still installed by default, we should probably not install them by default. |
The dotnet sdk is unlikely to ever allow loading legacy desktop framework assemblies. So if there are type providers that have not migrated at least to netstandard2.0 we should work with the maintainers to upgrade them, or stop relying on them. The compiler can still build desktop framework Apps, and consume for compilation purposes desktop framework libraries. dotnet fsi, however will not be able to consume them. |
Should we run this through the |
@abelbraaksma It's not really a language thing, it's more a product thing so I think we can handle it here. |
@abelbraaksma to be honest about moving on ... the compatibility with existing projects is terrifying. We believe we can still build Silverlight apps, even though we haven't even tested it in 7 or 8 years. And we still install FSharp.Core dlls from 2015 in the latest VS. The main purpose of this thread is to flesh out any compatibility fears we have not considered. |
Visual Studio currently ships a desktop framework version of the F# compiler and F# interactive application in addition to the coreclr versions shipped with the Dotnet SDK.
By default Visual Studio compiles F# applications using a desktop build of the compiler:
E.g.
C:\Program Files\Microsoft Visual Studio\2022\Community/Common7/IDE/CommonExtensions/Microsoft/FSharp/Tools/fscAnyCpu.exe
Visual Studio ships 3 desktop compilers in every Visual Studio:
When bulding a solution or project from the command line the msbuild command also defaults to the desktop framework compilers above. There are Two project file settings which configures msbuild and Visual Studio to use the Dotnet SDK compiler. Also dotnet build and dotnet fsi default to the coreclr tooling.
By default Visual Studio uses the dotnet SDK version of FSI
There is a Visual Studio Setting to configure VS to use one of the desktop versions of VS
Disadvantages:
Advantages
The text was updated successfully, but these errors were encountered: