F#build在Visual Studio中工作,但在MSBuild中失败或成功,具体取决于计算机

时间:2016-10-31 10:54:56

标签: visual-studio f# msbuild

我尝试在两台不同的计算机上使用MSBuild在一个解决方案中构建2个F#项目。

  • 计算机1安装了VS2015,无需重新安装或维修。
  • 在计算机2上,VS1015在Xamarin安装失败后心理不好。 VS2015已经修复(没有帮助),然后卸载留下4.5GB的剩余垃圾,然后由MS VisualStudioUninstaller再次卸载以清除残留物,最后重新安装。

这是我建立时发生的事情:

  • 计算机1:MSBuild有效。

  • 计算机2:MSBuild失败,一个项目出现The target "Build" does not exist in the project错误,另一个项目失败The value "" of the "Project" attribute in element <Import> is invalid. Parameter "path" cannot have zero length。在Xamarin出现意外之前,计算机2没有问题地构建了解决方案。

  • 使用Visual Studio构建适用于两个计算机。

计算机2的问题可能是通过修改Windows安装并从头开始重新安装所有内容来解决的,但任何不那么残酷的解决方案都会受到欢迎。

这个问题听起来有点像现有的FSharp build fails in MSBuild, but works ok in Visual Studio问题,但有问题的.fsproj文件已经按照接受的答案规定的方式使用TargetFSharpCoreVersion

1 个答案:

答案 0 :(得分:1)

似乎几乎每个使用FAKE(F#Make)的GitHub F#项目都可以从普通的命令提示符构建,但到目前为止,我发现了一个例外:我自己的Mpir.NET。这必须使用 Visual Studio的开发人员命令提示符 Visual Studio的MSBuild命令提示符构建。

开发人员提示设置许多环境变量。在这个特定情况下,问题中的VisualStudioVersion变量在计算机2上产生了差异。奇怪的是,计算机1也没有设置变量,但无论如何它都有效。找出确切原因,并不值得。只需使用MSBuild命令提示符。