msbuild - How to start on MS-Build -
i wish start using ms-build. have lots of projects build manually (from visual studio) of now. want automate build process , preferably machine onto don't wish install visual studio. started reading ms-build on msdn. yet step step guidance start , how do. questions like:
- how can start ms-build? there download-able?
- what first step?
- how create ms-build script?
and lot similar questions. can guide me?
ms build comes .net framework , executable (msbuild.exe) located in .net-framework directory, (depending on version):
- c:\windows\microsoft.net\framework\v4.0.30319
- c:\windows\microsoft.net\framework\v3.5
- c:\windows\microsoft.net\framework\v2.0.50727
(the right version in %path% when using "visual studio command prompt" start menu.)
msbuild files xml-files. can start making new text file, lets "c:\myscript.msbuild", , copy-paste file:
<project defaulttargets="mytarget" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <target name="mytarget"> <message text="hello world!" importance="high"/> </target> </project>
then go command prompt , type:
c:\windows\microsoft.net\framework\v4.0.30319\msbuild.exe c:\myscript.msbuild
that start. :)
then can customize targets , properties. second example:
<project defaulttargets="all" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <propertygroup condition="'$(mycondition)' == 'x'" > <myproperty>world2</myproperty> </propertygroup> <target name="mytarget"> <message text="hello" importance="high"/> <message text="$(myproperty)" importance="high"/> </target> <target name="mytarget2"> </target> <target name="all"> <calltarget targets="mytarget" /> <calltarget targets="mytarget2" /> </target> </project>
c:\windows\microsoft.net\framework\v4.0.30319\msbuild.exe c:\myscript.msbuild /target:mytarget /property:mycondition=x
you can have build files inside build-files.
<project defaulttargets="mytarget" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <import project="myexternalproperties.msbuild"/> <target name="mytarget"> <exec command="echo hello world 3"/> </target> </project>
Comments
Post a Comment