如何将多个可执行 F# 文件组织到一个 VS 解决方案中?

How to organize multiple executable F# files into one VS solution?

我最近在学习 F#,并用它来解决 "Haskell 99 problems" 之类的问题作为练习。我在 Windows.

上使用 Visual Studio 2013 社区进行编码

我的问题是我不知道如何将我所有的源代码组织在一个文件中 solution/project。

在 Ruby 等其他语言中,我可以像这样组织我的源代码:

haskell99/
    problem1.rb
    problem2.rb
    ...
    problem99.rb

我可以在任何 IDE.

中独立地编写和执行每个源文件

但是如果我在 Visual Studio 中以类似的方式组织我的 F# 源代码:

Solution 'Haskell99'
    Project 'Haskell99'
        problem1.fs
        problem2.fs
        ...
        problem99.fs

我不能只切换到源代码并按Ctrl+F5 来执行它。如果这样做,此解决方案中包含的所有源代码将被编译为一个 .exe 文件。

我还尝试了其他方法,例如每个问题一个项目:

    Solution 'Haskell99'
        Project 'Problem1'
            Program.fs
        Project 'Problem2'
            Program.fs
        ...
        Project 'Problem99'
            Program.fs

或解决方案中的 F# 脚本:

    Solution 'Haskell99'
        Project 'Haskell99'
            problem1.fsx
            problem2.fsx
            ...
            problem99.fsx

它们都不起作用。

是否有任何最佳实践可以实现这一点:

Switch to a source file by double click it; 
Then press Ctrl + F5 to ONLY compile and execute this source file.

提前感谢您的回复。

安装 F# power tools,当您在编辑器中打开 .fsx 文件时,可以选择 "Execute in Interactive"。您可以将其映射到您想要的任何组合键。

如果您需要启动调试器,那么每个问题一个项目是唯一的选择。这是一个额外的步骤,但是如果您按照 http://blog.michaelckennedy.net/2007/07/30/visual-studio-tricks-series-1-set-as-startup-project/ 将热键添加到 set-as-startup-project,那么您的过程是

  • 双击源文件
  • 按 ctrl-shift-p 将其设置为启动项目
  • 按 F5 编译并执行附加调试器的项目

或者如果您不需要在编辑器中打开文件,它只是

  • 单击项目
  • 按 ctrl-shift-p 将其设置为启动项目
  • 按 F5 编译并执行附加调试器的项目