我分叉并克隆了FAKE - F# Make Github Repo,以便我可以回馈它。我跟着contributing instructions here。但是,我几乎立即遇到了障碍。当我运行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
我有F#3.0附带的Visual Studio 2012。我确认通过在F#交互窗口中运行System.AppDomain.CurrentDomain.BaseDirectory
来安装F#SDK。结果是C:\Program Files (x86)\Microsoft SDKs\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社区版但是可以获得最新版本的F#for Visual Studio 2012吗?
这甚至是问题吗? 还有什么可能是错的?
答案 0 :(得分:0)
经过进一步检查,问题似乎是回购中的几个F#项目没有必要的库引用。具体来说,从提交8df8a2f开始,缺少以下内容。
NuGet已经删除了FSharp.Core.dll,所以我只需要添加对受影响项目的引用。 FSharp.Data.TypeProviders.dll尚未下载,但我也能够使用NuGet快速修复该问题。