Description
An important note: the .NET Core Sdk can build all target frameworks (net, netcore, pcl), so both .NET Framework and .NET Core projects.
New fsproj is going to be the replacement for old fsproj, because is based on the new .NET Sdk
the msbuild from mono, .net full can run same project too.
FSC and related consumer (FSAC based ide) should support the new .NET Sdk, so for f# the new fsproj.
Ignore project.json
because is dead, and there is a clean project.json -> fsproj migration, same features.
The workflow is the same, msbuild call Build
target, who invoke fsc
using FscTask
from FSharp.Build.dll
The rest of sdk (Microsoft.NET.Sdk
) is shared with the rest of .net (c#, vb)
Some notable changes from old fsproj atm: fsc
is inside FSharp.Compiler.Tools
, the target files in FSharp.NET.Sdk
.
I miss some info.
Starting from the basics. What FCS need? What editors need? Previously that was done using project cracker, but maybe we can fix that without duplicate code/hacks.
My idea is also reuse code/lib from sdk/c#/omnisharp for common info (like compile items, etc), without hack/fork these in project cracker.
What FCS need?
- 1 get
fsc
arguments. - 2 get projectreference list (
??
) - 3
??
What ide/editors need?
- A compile items
- B all nont compile items to show (
None
etc) - C target frameworks (can be more than once)
- D
??
/cc @tpetricek @dsyme @7sharp9 @latkin @vladima FCS team
/cc @rneatherway emacs
/cc @kjnilsson vim
/cc @guillermooo sublime
/cc @KevinRansom @cartermp vs
/cc @nosami @mrward vs on mac
/cc @Krzysztof-Cieslak ionide vscode/atom
/cc @alfonsogarciacaro fable
(please add who is missing) and github teams maybe? :D
Some possibile solution
- 1 i have a possibile solution in read fsc args from new fsproj #707