F# 类型';CLIMutable';当我尝试运行假';Windows上的s build.cmd

F# 类型';CLIMutable';当我尝试运行假';Windows上的s build.cmd,f#,f#-fake,F#,F# Fake,我分叉并克隆了,这样我就有可能为它做出贡献。我跟着火车走。然而,我几乎立刻遇到了一个障碍。当我运行build.cmd时,我收到以下错误 1) Building ./FAKE.Deploy.Web.sln failed with exitcode 1. 2) FS0039: C:\Development\FAKE\src\deploy.web\Fake.Deploy.Web.Abstractions\AccountModels.fs(9,3): The type 'CLIMutable' is n

我分叉并克隆了,这样我就有可能为它做出贡献。我跟着火车走。然而,我几乎立刻遇到了一个障碍。当我运行build.cmd时,我收到以下错误

1) Building ./FAKE.Deploy.Web.sln failed with exitcode 1.
2) FS0039: C:\Development\FAKE\src\deploy.web\Fake.Deploy.Web.Abstractions\AccountModels.fs(9,3): The type 'CLIMutable' is not defined
3) FS0039: C:\Development\FAKE\src\deploy.web\Fake.Deploy.Web.Abstractions\AccountModels.fs(17,3): The type 'CLIMutable' is not defined
4) FS0039: C:\Development\FAKE\src\deploy.web\Fake.Deploy.Web.Abstractions\AccountModels.fs(30,3): The type 'CLIMutable' is not defined
5) FS0039: C:\Development\FAKE\src\deploy.web\Fake.Deploy.Web.Abstractions\AccountModels.fs(37,3): The type 'CLIMutable' is not defined
6) FS0039: C:\Development\FAKE\src\deploy.web\Fake.Deploy.Web.Abstractions\Model.fs(9,3): The type 'CLIMutable' is not defined
7) FS0039: C:\Development\FAKE\src\deploy.web\Fake.Deploy.Web.Abstractions\Model.fs(16,3): The type 'CLIMutable' is not defined
8) FS0039: C:\Development\FAKE\src\deploy.web\Fake.Deploy.Web.Abstractions\Model.fs(36,3): The type 'CLIMutable' is not defined
9) FS0039: C:\Development\FAKE\src\deploy.web\Fake.Deploy.Web.Abstractions\Model.fs(64,3): The type 'CLIMutable' is not defined
10) FS0039: C:\Development\FAKE\src\deploy.web\Fake.Deploy.Web.Abstractions\Model.fs(70,3): The type 'CLIMutable' is not defined
我有Visual Studio 2012,它附带了F#3.0。我确认F#SDK是通过在F#interactive窗口中运行
System.AppDomain.CurrentDomain.BaseDirectory
安装的。结果是
C:\ProgramFiles(x86)\Microsoft SDK\F\3.0\Framework\v4.0\

根据我的发现,F#3.0引入了CLIMutable属性。在克隆源代码和运行构建之间,我没有对源代码进行任何修改

我打开了FAKE.Web.Deploy解决方案并检查了引用的位置。FSharp.Core.dll似乎是根据我没有的F#4.3.1构建的。我怀疑这可能是问题的一部分。此版本似乎与Visual Studio 2013一起提供。我可以下载Visual Studio 2013社区版,但是否可以获得Visual Studio 2012的最新版本

这就是问题所在吗?
还有什么可能是错误的?

进一步检查后,问题似乎是回购协议中的几个F#项目没有必要的库参考。具体来说,在commit 8df8a2f中缺少以下内容

  • 从Fake.Deploy.Web.fsproj
    • FSharp.Core.dll
  • 来自Fake.Deploy.Web.Abstractions
    • FSharp.Core.dll
  • 来自Fake.Deploy.Web.RavenDb.fsproj
    • FSharp.Core.dll
    • FSharp.Data.TypeProviders

NuGet已经拉下了FSharp.Core.dll,所以我只需添加对受影响项目的引用。尚未下载FSharp.Data.TypeProviders.dll,但我也可以使用NuGet快速修复该问题。

检查FSharp.Core.dll的相应版本的路径在我的计算机上不存在。我有
C:\Program Files(x86)\Reference Assemblies\Microsoft\FSharp\3.0\Runtime\v4.0
,它似乎是4.3.0.0。