我正在使用VS2019社区,并且设置了预构建事件:
msbuild "$(ProjectPath)" /t:Clean
我遇到错误:
'MSBuild' is not recognized as an internal or external command,
operable program or batch file
这怎么可能?该命令不是应该内置到Visual Studio中吗?
我已经检查过this并尝试设置路径环境,但这无济于事。
在VS2019中,此命令是否还有其他人遇到相同的问题?
答案 0 :(得分:1)
在我的机器上有效的步骤:
请参见this,首先我们需要确保MSBuild
可以识别cmd.exe
。
如果cmd.exe
可以识别该命令,但是VS不能识别该事件,则重新启动PC可以帮助解决此问题。
(有些奇怪的是,对于我的VS,直到计算机重新启动之前仍然无法识别它)
对于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框架...)
<Target Name="MyCleanBeforeBuild" BeforeTargets="BeforeBuild">
<MSBuild Projects="$(ProjectPath)" Targets="clean"/>
<!--<Message Text="Custom Clean" Importance="high"/>-->
</Target>
答案 1 :(得分:1)
随着VS2019的最新更新-版本16.3.4-该错误不再存在。