我正在使用VS2019社区,并且已经设置了预构建事件:
msbuild "$(ProjectPath)" /t:Clean
我遇到错误:
'MSBuild' is not recognized as an internal or external command,
operable program or batch file
这怎么可能?该命令不是应该内置到Visual Studio中吗?
我已经检查了this并试图设置路径环境,但这无济于事。
VS2019中的此命令是否还有其他人遇到相同的问题?
在我的机器上有效的步骤:
请参见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>