我有一个VS 2010混合语言解决方案,主要是C#,但包含用F#编写的Windows服务。我已经在并行环境中使用xbuild构建了此建筑物,但是自从badgerports升级到mono 2.10.5的打包版本以来,我一直无法使其正常运行。

我通常遇到的错误是:


/home/alex/git/Solution/FSProject/FSProject.fsproj:错误:在项目中找不到名为“ Build”的目标。


让我感到困惑的是,查看项目文件时,似乎并没有定义任何目标。我离MSBuild专家还很远,但这对我来说有点奇怪。话虽如此,它以前确实起作用。

是否有人遇到过类似问题(并希望找到解决方案)?如果可能的话,我希望能够使用xbuild和Visual Studio来构建解决方案。

从badgerports运行mono 2.10.5的环境是mint 11(不确定这是基于ubuntu maverick还是natty)。 fsharp已从最新来源安装为默认前缀。

编辑

多亏了Brian的指针,我才能够走得更近(我确实必须对路径进行硬编码,xbuild似乎无法解决诸如“ $(MSBuildExtensionsPath32).. \ FSharp \ 1.0 \ Microsoft.FSharp.Targets ”)。 FSC实际上现在正在被调用,尽管它抱怨无法解析对FSharp.Core的引用。

我发现此页面F# and XBuild (Debian)有助于您走得更远。

最佳答案

如果使用以下命令,就不再需要黑客攻击:


Mono 3.0.0或更高版本。 (我的更改已合并here。)
FSharp tag 3.0.26 (or newer) on github(我的更改已合并为here。)。

09-06 06:13