Skip to content
This repository has been archived by the owner on Jan 8, 2019. It is now read-only.

Basic support for msbuild fsproj #23

Closed
enricosada opened this issue Nov 14, 2016 · 7 comments
Closed

Basic support for msbuild fsproj #23

enricosada opened this issue Nov 14, 2016 · 7 comments

Comments

@enricosada
Copy link
Contributor

enricosada commented Nov 14, 2016

GOAL

The sdk cli experience is fully supported xplat for .net core only projects, and the only requirement is the .net core sdk installed.

The IDE experience is VS Code, and doesnt require mono for ionide on osx/linux
fsharp interactive works after is installed.
Tutorials show basic usage for console/lib and for add support to existing projects
Docker works like for normal .net sdk project
Debuggin works inside VS Code

TODO

  • Xplat development on cli with .net core sdk only installed.
  • IDE supported: VS Code (restore, build, run) and intellisense. mono installed is not required for Ionide
  • VS Code support debugging
  • Templates: console, lib, xunit, nunit, suave, aspnetcore
  • All sdk commands supported (new,restore,build,run,pack,publish,test)
  • Tutorial:
    • how to add netstandard support into existing nuget package
    • from zero to a library package ( netstandard1.6 )
    • from zero to .net core console app ( netcoreapp1.0 )
  • fsharp interactive, installed as sdk tool/command (dotnet fsi)
  • Docker examples (console),, but should be enough the doc for normal .net sdk projects

For dev:

  • CI on all supported os
  • CI on travis/appveyor
  • Test suite of all sdk commands:
    • netstandard1.6/netcoreapp1.0
  • xplat .NET Core toolchain: FCS (and deps), FSAC.Suave, if possibile

Reality check

Works for project already using preview2, and remove some pain
Enable used tools/lib in F# ecosystem to go xplat (note: type providers are not supported)

Various project to add or enhance .net core (or sdk) support.

Project Who PR
Paket @forki fsprojects/Paket#1977
FAKE @matthid fsprojects/FAKE#1281
ASP.NET Core @neoeinstein

Some projects already works in preview2, so no source code changes are expected.
The published packages are already ok (netstandard1.6), no need to change these because can be used in preview3.
Expected changes of migration preview2 -> preview3 are only:

  • project.json -> fsproj
  • infra (build script)
  • docs
Project Who PR
Suave @enricosada
Argu
Chessie
FsCheck
FCS
@enricosada enricosada added this to the 1.0.0-preview3-basic milestone Nov 14, 2016
@enricosada
Copy link
Contributor Author

enricosada commented Nov 14, 2016

Notes:

  • should work with current published (same as preview2) FSharp.Core and compiler package
  • final version should use latest released compiler/fsharp.core

TODO (maybe in other repo):

  • report/fix errors (see test suite)
  • build matrix to check latest FSharp.Core and compiler package deps (no private dev deps if not required)

@cloudRoutine
Copy link
Collaborator

@matthid has been working on the netcore FAKE

@kurtschelfthout how much needs to be done for FsCheck to be netcore ready?

@cloudRoutine
Copy link
Collaborator

We could also use a github project to organize this.

I've found them to be useful

@kurtschelfthout
Copy link

@cloudRoutine None as far as I'm aware, it supports profile259 already. There is also fscheck/FsCheck#293

@matthid
Copy link

matthid commented Nov 17, 2016

yep, put me up for FAKE. (pr on my branch is welcome as well ;))

@enricosada
Copy link
Contributor Author

@kurtschelfthout @cloudRoutine i added a comment in fscheck/FsCheck#293 (comment) . portable259 is ok, but i think there are issue with dotnet test using that (or maybe was a transitory issue resolved already)

@enricosada enricosada removed this from the 1.0.0-preview3-basic milestone Feb 9, 2017
@enricosada enricosada changed the title Basic support for preview3 Basic support for msbuild fsproj Feb 9, 2017
@enricosada
Copy link
Contributor Author

Closing, all project listed support netstandard1.6 now and further issues are tracked in specific repo

The development story works for multiple editors

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants