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

$(SolutionDir) MSBuild property incorrect when Building Sub Projects - FAKE F#MAKE

我有 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

下面是我的假代码:

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??

尝试使用 MSBuildReleaseExt 而不是 MSBuildRelease 来传递属性:

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