MSBUILD结合批处理编译

@echo off
set FrameworkPath=%SystemRoot%/Microsoft.NET/Framework/v4.0.30319
if exist "%FrameworkPath%/MSBuild.exe" goto :Start
set FrameworkPath=%SystemRoot%/Microsoft.NET/Framework/v3.5
if exist "%FrameworkPath%/MSBuild.exe" goto :Start
set FrameworkPath=%SystemRoot%/Microsoft.NET/Framework/v3.0
if exist "%FrameworkPath%/MSBuild.exe" goto :Start
set FrameworkPath=%SystemRoot%/Microsoft.NET/Framework/v2.0.50727
if exist "%FrameworkPath%/MSBuild.exe" goto :Start
set FrameworkPath=%SystemRoot%/Microsoft.NET/Framework/v1.1.4322
if exist "%FrameworkPath%/MSBuild.exe" goto :Start
color 0A
echo 没有合适的编译器!
color 00
PAUSE
EXIT
:Start
for /f "delims=" %%i in ('dir /b /a-d  "*.sln"') do (
   %FrameworkPath%/MSBuild.exe %%i /t:Build /p:Configuration=DEBUG
)
:END
PAUSE

放到和sln同级的目录下,for循环下有时候可能会提示不能指定多个项目,需要自己把项目名填进去,去掉for

原文地址:https://www.cnblogs.com/FlyCat/p/2709116.html