The F# compiler, FSharp.Core library, and tools for F#
Перейти к файлу
Lukas Rieger 134f98c973 Update DEVGUIDE.md (#2775)
This depends on https://github.com/Microsoft/visualfsharp/pull/2773 (or fixing the issue another way), because ATM even Debug is broken.
2017-04-02 16:02:10 -07:00
.nuget Use Nuget for VSSDK Packages and upgrade to stable package versions (#2698) 2017-03-27 16:04:46 -07:00
.vscode Port build.cmd to build.sh (#2497) 2017-02-28 10:26:58 -08:00
artifacts Build nupkg to artifacts directory (#1736) 2016-11-12 23:37:27 -08:00
lkg 1.0.0-rc-170122 (#2317) 2017-01-24 22:17:53 -08:00
scripts Installscriptupdates (#2765) 2017-04-02 15:56:53 -07:00
setup Enable sourcelink for Visual fsharp tools repo (#2675) 2017-03-30 13:39:44 -07:00
src A few more Buildtweaks (#2759) 2017-03-31 21:52:13 -07:00
tests Deduplicate module names (#2728) 2017-03-31 11:50:56 -07:00
vsintegration A few more Buildtweaks (#2759) 2017-03-31 21:52:13 -07:00
.gitattributes printfn "Hello, world!";; 2014-03-27 19:11:16 -07:00
.gitignore Implement script for diffing fsharp repos. (#2597) 2017-03-13 13:28:18 -05:00
BuildToolsVersion.txt Enable Build/CI with Mono (#1703) 2016-11-06 18:49:18 +00:00
CHANGELOG.md reset (c) Microsoft Open Technologies, Inc. back to (c) Microsoft Corporation. 2016-01-28 18:25:10 -08:00
CONTRIBUTING.md Update the Markdown documentation (#2653) 2017-03-18 08:55:46 -07:00
DEVGUIDE.md Update DEVGUIDE.md (#2775) 2017-04-02 16:02:10 -07:00
DotnetCLIVersion.txt Update build tools to latest (#1651) 2016-10-24 22:57:24 -07:00
FSharp.sln Make concurrency assumptions more explicit via token passing (#2371) 2017-02-09 12:22:39 -08:00
ISSUE_TEMPLATE.md Update the Markdown documentation (#2653) 2017-03-18 08:55:46 -07:00
License.txt reset (c) Microsoft Open Technologies, Inc. back to (c) Microsoft Corporation. 2016-01-28 18:25:10 -08:00
README.md Update README.md (#2713) 2017-03-28 14:04:48 +01:00
TESTGUIDE.md Update TESTGUIDE.md (#1848) 2016-11-26 14:45:21 +00:00
VisualFSharp.sln Rename Resources.MockTypeProvider folder to shorten path. 2017-03-22 12:42:13 -05:00
attributions.md Add community attributions (#2674) 2017-03-22 17:59:12 -07:00
before_install.sh reverse integrate all fsharp/fsharp changes (#2442) 2017-02-21 11:05:39 -08:00
build-everything.proj update mem perf driver (#2376) 2017-02-07 23:12:51 +00:00
build.cmd A few more Buildtweaks (#2759) 2017-03-31 21:52:13 -07:00
build.sh Follow-up to #2497. (#2536) 2017-03-07 10:08:30 -06:00
dotnet-install.ps1 Use CDN to install dotnetcli ---- should be much quicker (#2311) 2017-01-21 19:58:36 -08:00
dotnet-install.sh Use CDN to install dotnetcli ---- should be much quicker (#2311) 2017-01-21 19:58:36 -08:00
init-tools.cmd Use CDN to install dotnetcli ---- should be much quicker (#2311) 2017-01-21 19:58:36 -08:00
init-tools.sh Enable Build/CI with Mono (#1703) 2016-11-06 18:49:18 +00:00
netci.groovy load the VS 2017 VsDevCmd (#2690) 2017-03-24 18:43:36 -04:00
packages.config Enable sourcelink for Visual fsharp tools repo (#2675) 2017-03-30 13:39:44 -07:00

README.md

Join the chat at https://gitter.im/Microsoft/visualfsharp

Visual F# Tools

Windows build

Debug (Build only) Release (Tests Part 1) Release (Tests Part 2) Release (Tests Part 3) Release (Tests Part 4)
master Build Status Build Status Build Status Build Status Build Status

Contributing to the F# Language, Library, and Tools

You are invited to join with the F# Community and the Visual F# Tools team to help produce future releases of the F# language compiler, library, and tools.

F# is a mature, open source, cross-platform, functional-first programming language which empowers users and organizations to tackle complex computing problems with simple, maintainable, and robust code. F# is used in a wide range of application areas and is supported by Microsoft and other industry-leading companies providing professional tools, and by an active open community. You can find out more about F# at http://fsharp.org.

Changes contributed here are packaged into the Visual F# Tools, the F# Open Edition, and other open source F# editing tools. Microsoft coordinates packaging this repository as part of the Visual F# Tools, while the F# community coordinates packaging it as the Open Edition of F# for use on Linux, OSX, Android, iOS, and other platforms, via the fsharp/fsharp GitHub repo.

License

This project is subject to the Apache Licence, Version 2.0. A copy of the license can be found in License.txt at the root of this repo.

Development and Testing

See DEVGUIDE.md and TESTGUIDE.md in the root of the repo for details on build, development, and testing.

Required Tools for Windows Development and Testing

Development tools

For F# Compiler on Windows (build net40)

For F# Compiler on OSX and Linux (see .travis.yml for build steps)

  • Mono latest
  • If building for .NET Core, then .NET Core will be downloaded from Linux packages

For Visual F# IDE Tools 4.1 development (Windows)

  • Visual Studio 2017
    • Under the "Windows" workloads, select ".NET desktop development"
      • Select "F# language support" under the optional components
    • Under the "Other Toolsets" workloads, select "Visual Studio extension development"
    • Under the "Individual components" tab select "Windows 10 SDK" as shown below (needed for compiling RC resource, see #2556):
      image

Additional frameworks

Contributing

Guidelines for contributions to the F# compiler, library, and Visual F# IDE tools can be found in the CONTRIBUTING.md document.

How we label issues and PRs: https://github.com/dotnet/roslyn/wiki/Labels-used-for-issues

This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. This code of conduct has been adopted by many other projects. For more information see the Code of conduct.

If you would like to contribute to the F# ecosystem more generally see the F# Software Foundation's Community Projects pages.

Using Nightly Releases of Visual F# Tools

To setup Visual Studio to use the latest nightly releases of the Visual F# Tools, follow the Using CI Builds instructions.

Using CI Builds

To install F#, see http://fsharp.org.

To download the bits for the latest CI builds see these instructions. This includes and ZIPs containing the F# compiler and VSIX installers for the Visual F# IDE Tools.

Code Flow to Other Platforms

This repository enables development on Windows, Linux and OSX. It enables automated CI testing primarily on Windows.

If using Android, or iOS, and would like to contribute, please see the instructions provided at the Open Edition repo.

Although the primary focus of this repo is F# for Windows and the Visual Studio F# tools, contributions here flow directly to the F# Open Edition repo. More details can be found here.

Using F# on a buildserver or computer without VS 2017 or without the optional F# tools

If you wish to use the latest F# compiler on a computer without Visual Studio 2017 installed, you can add the nuget package FSharp.Compiler.Tools to your projects. This will replace the in-box compiler with the version contained in the package. The actual package is built in https://github.com/fsharp/fsharp.

Note that while this will remove the dependency on VS 2017, you will still need to have MSBuild and the required targets files installed, which come with any older version of VS (e.g. 2013 or 2015).

... With an older version of VS

Just install the nuget package, it will then use MSBuild and the targets files from the older version. If you get an error, see below.

... With VS (any version) installed, but without the optional F# tools installed

The currently distributed F# templates depend on machine-wide installed .targets files. You can manually modify your project to instead use the .targets file from the nuget package. This will allow you to build your project on a computer with VS but without the optional F# tools installed. See https://github.com/fsharp/fsharp/issues/676 for how to modify your project file.

Get In Touch

Keep up with the Visual F# Team and the development of the Visual F# Tools by following us @VisualFSharp or subscribing to the .NET Blog.