Visual Studio VS 2019- msbuild未被识别为内部或外部命令

h7wcgrx3  于 12个月前  发布在  其他
关注(0)|答案(4)|浏览(210)

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

msbuild "$(ProjectPath)" /t:Clean

我收到错误:

'MSBuild' is not recognized as an internal or external command,
  operable program or batch file

这怎么可能?这个命令不是应该内置到visual studio中吗?
我已经检查了this,并试图设置路径环境,但它没有帮助。
还有人在VS2019中遇到同样的问题吗?

z18hc3ub

z18hc3ub1#

在我的机器中工作的步骤:
1.首先,我们需要确保MSBuild可以被cmd.exe识别。
1.如果cmd.exe可以识别该命令,但无法识别来自VS的构建事件,则重新启动PC可以帮助解决此问题。
(奇怪的是,我的VS仍然无法识别它,直到重新启动计算机)
1.对于VS2019,正确的msbuild路径是C:\Program Files (x86)\Microsoft Visual Studio\2019\xxx\MSBuild\Current\Bin
这里有另一个解决方法:
除了将msbuild.exe的路径添加到Environment Path中并在pre-build事件中调用它之外,还可以考虑使用MSBuild Task
将以下脚本添加到xx.csproj中:(适用于.net framework...)

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

xytpbqjk2#

最新更新到VS 2019-版本16.3.4 -错误不再存在。

dl5txlt9

dl5txlt93#

如果你安装了“dotnet”而不是“msbuild”,你可以使用它。
所以,在我的例子中,我认为我可以使用“dotnet build”而不是运行“msbuild /t:restore”,并获得相同的结果。
如果您想查看更多等效命令,请参阅以下文档。https://learn.microsoft.com/en-us/dotnet/core/tools/

qyzbxkaa

qyzbxkaa4#

在我的Windows计算机上:
1.搜索环境变量
1.编辑路径
1.新

  1. C:\Program Files(x86)\Microsoft Visual Studio\2022\BuildTools\MSBuild\Current\Bin

相关问题