使用 Visual Studio 编写 F# 程序

Visual Studio 集成开发环境 (IDE) 包含对 F# 的支持,包括代码编辑、IntelliSense、调试以及有助于打包和部署应用程序的功能。 Visual F# 支持其他 .NET Framework 语言中所支持的多个功能。

比较脚本和项目

Visual F# 支持两种基本样式的开发:脚本和项目。 若您只希望运行少量代码,而不希望这些代码转变成一个永久应用程序,则可使用 F# 脚本。 在创建永久性更高的应用程序时,可以使用项目。

若要创建并运行 F# 脚本,您不需要创建项目。 若要创建 F# 脚本,请在**“文件”菜单上,指向“新建”,然后单击“文件”。 在“新建文件”对话框中,选择“已安装的模板”列表中的“脚本”,然后选择“F# 脚本文件”**。 脚本设计为利用 F# Interactive (fsi.exe) 来执行。 有关更多信息,请参见 F# Interactive (fsi.exe) 参考

项目和解决方案

项目包括生成单个程序集的文件的集合。 项目设计为利用 fsc.exe 进行编译,并可在 Visual Studio 调试器中运行。 生成的程序集可以是可执行文件或库 (DLL)。 项目包含的源文件都是用同一编程语言编写的。 “解决方案”是项目的集合。 可以用不同的语言来编写解决方案中的项目。 例如,您的应用程序可以具有 Visual Basic 或 C# 用户界面(它是一个项目),也可以具有 F# 库(作为另一个项目)。 这些项目中的某个项目将成为启动项目,即设置为在启动应用程序时运行的项目。

若要创建 F# 项目,请在 “文件”菜单上,指向“新建”,然后单击**“项目”。 在“新建项目”**对话框中,选择一个项目模板。 Visual Studio 提供了一些模板,这些模板可用于创建已具有所有支持应用程序和库的基本元素和设置的项目。 在 F# 中,当您创建 DLL 时,使用的是 F# 库项目模板;当您创建可执行文件时,使用的是 F# 应用程序项目。您还可以通过使用 Silverlight 项目模板来面向 Silverlight。

在开发计算机之外的计算机上部署要运行的应用程序时,您需要向解决方案添加安装项目或部署项目,并将其配置为在部署中包含 F# 运行时。 演练:使用 Visual F# 创建、调试和部署应用程序中完整地说明了此方案。

创建带用户界面的应用程序

其他语言支持可用于为应用程序创建用户界面的可视化设计器。 F# 程序可以直接面向 .NET Framework 库(如 WPF、Windows 窗体或 ASP.NET),这些库可用于为 F# 应用程序创建用户界面,但 Visual Studio 2010 未提供可帮助您创建界面的可视化设计器。 一个典型方案是创建一个多语言解决方案,此解决方案包含一个 Visual Basic 或 C# 应用程序项目(该项目包含用户界面),并且包含一个或多个 F# 库项目。

F# 项目

F# 项目中的文件顺序很重要。 F# 编译器将按顺序处理 F# 项目中的文件。 F# 编译器要求您在开始使用所有构造之前先定义它们;因此,在项目的文件列表中,包含任一 F# 构造的定义的文件必须出现在使用该构造的文件的前面。 此外,还必须避免跨多个文件的循环依赖项。 为了使在项目中移动文件变得更加轻松,F# 提供了一些命令,这些命令可用于在**“解决方案资源管理器”**的文件列表中上移或下移文件。 可以通过右击文件列表中的文件或使用菜单上显示的键盘快捷方式来访问这些命令。

F# 项目中的 F# 文件

下表汇总了可在 F# 项目中使用的部分文件类型。

文件类型和扩展名

说明

实现文件 (.fs)

用于 F# 代码。

签名文件 (.fsi)

用于指定 F# 实现文件中模块和类型的公共签名。 有关更多信息,请参见签名 (F#)

脚本 (.fsx)

用于包含 F# 中的非正式测试代码,而无需向应用程序添加此测试代码,也无需为此测试代码创建单独的项目。 默认情况下,脚本文件不会包含在某个项目的生成中,即使它们是该项目的一部分。

相关主题

标题

说明

F# 开发环境功能

列出 Visual Studio 功能并指明在 Visual F# 中支持哪些功能。

配置项目 (F#)

提供有关 Visual F# 中的项目设置的信息。

用户界面元素 -> 项目

提供介绍与项目相关的 Visual Studio 对话框的主题链接。 F# 项目支持是 Visual Studio 支持的子集。

Visual F#

介绍 Visual F# 并提供指向相关主题的链接。

演练:使用 Visual F# 创建、调试和部署应用程序

提供用来在 Visual F# 中开发应用程序的分步说明。

调试 F#

提供关于在 F# 中调试的信息。

F# 入门

提供指向有关 Visual F# 的介绍性信息的链接。

Visual F# 指导教程

提供介绍 F# 编程的某些方面的教程的链接。