F# 在假生成脚本中使用特定版本的MSBuild

F# 在假生成脚本中使用特定版本的MSBuild,f#,msbuild,f#-fake,F#,Msbuild,F# Fake,我的机器上目前安装了VS2013和VS2015 默认情况下,仿冒F#Make似乎正在使用VS2015构建 我尝试将VisualStudioVersion 12.0传递到我的MSBuild任务中,但似乎没有任何效果 我看到一些文章说要在Fake.exe.config中更改MSBuildPath,但在该exe中没有看到MSBuildPath 如何确保它使用Visual Studio 2012(12.0)提供的MSBuild?此代码适用于我: let toolsVersion = "12.0"

我的机器上目前安装了VS2013和VS2015

默认情况下,仿冒F#Make似乎正在使用VS2015构建

我尝试将VisualStudioVersion 12.0传递到我的MSBuild任务中,但似乎没有任何效果

我看到一些文章说要在Fake.exe.config中更改MSBuildPath,但在该exe中没有看到MSBuildPath


如何确保它使用Visual Studio 2012(12.0)提供的MSBuild?

此代码适用于我:

    let toolsVersion = "12.0"

    let setParams defaults =
        { defaults with
            ToolsVersion = Some(toolsVersion)
        }

    build setParams solutionPath
        |> DoNothing

@Andrew code没有为我更改MSBuild版本。我想出了另一种方法来实现这一点

EnvironmentHelper.setBuildParam "VisualStudioVersion" "14.0"
您也可以对vs2013使用“12.0”,或对vs2017使用“15.0”
下面是在构建期间使用此变量的示例

您关心调用哪个版本的MSBuild有什么具体原因吗?它仍应为项目指定的目标.net平台生成。