构建子项目时,$(SolutionDir)MSBuild属性不正确 - 伪造F#MAKE

时间:2017-03-22 11:23:20

标签: f# f#-interactive f#-3.0 f#-data f#-fake

我有10个子项目,在这10个项目中,我在我的FAKE脚本中构建3个项目,但是我收到一个错误,即`导入的项目

"D:\MyProject\Project1\BuildTools\StyleCop\v4.7\StyleCop.targets" was no found . Confirm that the path in the <import> declaration is correct , and that the file exists on disk .

虽然预期的目标文件不在此位置,但目前它位于此位置 D:\MyProject\BuildTools\StyleCop\v4.7\StyleCop.targets

我的问题是为什么这是在错误的位置搜索文件。我认为这是$(SolutionDir)的问题,因为project1 csproj文件位于此位置  的 D:\MyProject\Project1\Project1.csproj

以下是我的FAKE代码:

Target "BuildApp" (fun _ ->
!! "D:\MyProject\Project1\project1.csproj"
  ++ "D:\MyProject\Project2\project2.csproj"
  ++ "D:\MyProject\Project3\project3.csproj"
  |> MSBuildRelease buildDir "Build"
  |> Log "AppBuild-Output:"

这是否可以在给出csproj文件的路径时提供我的新SolutionDir?

1 个答案:

答案 0 :(得分:3)

尝试使用MSBuildReleaseExt代替MSBuildRelease传递属性:

|> MSBuildReleaseExt buildDir [("SolutionDir", "path-to-your-solution.sln")] "Build"