VS2019 - msbuild 不被识别为内部或外部命令

Fre*_*kyB 7 msbuild visual-studio

我正在使用 VS2019 社区,并且已经设置了预构建事件:

msbuild "$(ProjectPath)" /t:Clean
Run Code Online (Sandbox Code Playgroud)

我收到错误:

  'MSBuild' is not recognized as an internal or external command,
  operable program or batch file
Run Code Online (Sandbox Code Playgroud)

这怎么可能?这个命令不应该内置到visual studio中吗?

我已经检查过这个并尝试设置路径环境,但它没有帮助。

在 VS2019 中,有没有其他人对这个命令有同样的问题?

Lan*_*SFT 6

在我的机器上工作的步骤:

  1. 看到这个,首先我们要确定MSBuild能被认出来cmd.exe

  2. 如果cmd.exeVS 的 build-event可以识别该命令,但无法识别该命令,则重新启动 PC 可以帮助解决此问题。

    (奇怪的是,对于我的 VS 来说,直到重新启动计算机后仍然无法识别它)

  3. 对于 VS2019,正确的 msbuild 路径是 C:\Program Files (x86)\Microsoft Visual Studio\2019\xxx\MSBuild\Current\Bin

这是另一种解决方法:

除了添加msbuild.exeinto的路径Environment Path并在pre-build事件中调用之外,您还可以考虑使用MSBuild Task

将下面的脚本添加到xx.csproj:( 适用于 .net 框架...)

  <Target Name="MyCleanBeforeBuild" BeforeTargets="BeforeBuild">
    <MSBuild Projects="$(ProjectPath)" Targets="clean"/>
    <!--<Message Text="Custom Clean" Importance="high"/>-->
  </Target>
Run Code Online (Sandbox Code Playgroud)


Fre*_*kyB 2

随着 VS2019 的最新更新 - 版本 16.3.4 - 该错误不再存在。