2014-02-13 72 views
5

我试图让我们的构建服务器(TeamCity 8)构建一个F#项目(我们团队中创建的第一个项目)。TeamCity无法构建F#项目

当我第一次跑了构建我得到了以下错误:

我认为,这意味着所需的F#工具不存在生成服务器上。我试图用这个博客文章中的说明纠正这个问题:http://www.heartysoft.com/ashic/blog/2013/3/build-fsharp-3-on-build-server-without-vs(总结:下载并安装VWD_FSharp.msi),但问题依然存在。然后我加入条件=“是否存在(‘$(FSharpTargetsPath)’)”,以导入标签在fsproj,以便它现在读取:

<Import Project="$(FSharpTargetsPath)" Condition="Exists('$(FSharpTargetsPath)')" /> 

我在另一篇博客中看到,但都这样做了被交换一个新的错误:

The target "Rebuild" does not exist in the project. 

在这里的任何帮助将不胜感激;我真的不想在生成服务器上安装VS。关于我们的环境唯一值得注意的是我们使用的是.NET 4而不是4.5。

感谢

+0

您如何看待警告? C#项目已经在服务器上工作了吗? –

+0

嗯 - 问题似乎回来了。 我使用VStudio 2017,创建了一个控制台F#项目,它完全符合上述的要求。我也已经安装了当前的FSharp_Bundle.exe。 不过,没有v3框架了。我在C:\ Program Files(x86)\ Microsoft SDKs \ F#\ 4.1 \ Framework \ v4.0下找到目标文件。 该项目针对4.4.0.0 F#Runtime和.NET 4.5.1。它在工作室中建造得很好,但它根本不会由MSBuild构建。 我该怎么办? – Slesa

回答

1

谢谢你的问题Ganesh神,因为我已经解决了这个问题。因此,在我的问题中使用链接安装F#工具确实有效,但是在MSBuild目录中进行了一些挖掘后发现它只安装了F#v3;我的项目针对v3.1(VS2013中的默认版本)。

进入每个项目的设置文件和重定向为3.0解决了这个问题。