Create a .bat file called:
Manual_MSBuild_ReleaseVersion.bat
Put this in the .bat file.
REM you'll have to find the "latest" version of where msbuild.exe resides on your machine.. here are some popular versions/locations
REM set msBuildDir=%WINDIR%Microsoft.NETFrameworkv2.0.50727
REM set msBuildDir=%WINDIR%Microsoft.NETFrameworkv3.5
REM set msBuildDir=%WINDIR%Microsoft.NETFrameworkv4.0.30319
REM set msBuildDir=C:Program Files (x86)MSBuild12.0Bin
set msBuildDir=C:Program Files (x86)MSBuild14.0Bin
call "%msBuildDir%msbuild.exe" MySolution.sln /p:Configuration=Release /l:FileLogger,Microsoft.Build.Engine;logfile=Manual_MSBuild_ReleaseVersion_LOG.log
set msBuildDir=
You can build a .sln file or a .csproj file.
MySolution.sln or MyProject.csproj
See How to: Use MSBuild to Create a Web Package for more information.
You can take it one step further:
rd .BuildResults /S /Q
md .BuildResults
rd .MyProjectBinRelease /S /Q
REM you'll have to find the "latest" version of where msbuild.exe resides on your machine.. here are some popular versions/locations
REM set msBuildDir=%WINDIR%Microsoft.NETFrameworkv2.0.50727
REM set msBuildDir=%WINDIR%Microsoft.NETFrameworkv3.5
REM set msBuildDir=%WINDIR%Microsoft.NETFrameworkv4.0.30319
REM set msBuildDir=C:Program Files (x86)MSBuild12.0Bin
set msBuildDir=C:Program Files (x86)MSBuild14.0Bin
call "%msBuildDir%msbuild.exe" MySolution.sln /p:Configuration=Release /l:FileLogger,Microsoft.Build.Engine;logfile=Manual_MSBuild_ReleaseVersion_LOG.log
set msBuildDir=
XCOPY .MyProjectBinRelease*.* .BuildResults
That way, you remove a directory (just to make sure you get a super clean build), create it, build the solution/project and then copy the results of the build to the fresh directory.
Super fresh, every time. And if the build blows up, the BuildResults directory is empty.
And a subtle little indicator, the datetime of the BuildResults directory is the last time you built (or tried to build) the solution/project. Subtle, but sometimes helpful.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…