{"id":254,"date":"2010-05-05T11:25:02","date_gmt":"2010-05-05T11:25:02","guid":{"rendered":"http:\/\/www.scmgalaxy.com\/tutorials\/2010\/05\/05\/introduction-to-msbuild\/"},"modified":"2017-12-27T21:24:11","modified_gmt":"2017-12-27T21:24:11","slug":"introduction-to-msbuild","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/introduction-to-msbuild\/","title":{"rendered":"Introduction to MSBuild &#8211; Quick Intro Guide"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-4384\" src=\"http:\/\/www.scmgalaxy.com\/tutorials\/wp-content\/uploads\/2010\/05\/msbuild-introduction.png\" alt=\"msbuild-introduction\" width=\"600\" height=\"400\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2010\/05\/msbuild-introduction.png 600w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2010\/05\/msbuild-introduction-300x200.png 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p><b>Introduction to MSBuild<\/b><\/p>\n<ul>\n<li>Microsoft supported build engine<\/li>\n<li>XML-based configuration file<\/li>\n<li>Intellisense available from Visual Studio using supplied schema<\/li>\n<li>Ships with .NET Framework 2.0, it is NOT part of Team Foundation Server<\/li>\n<li>Both Visual Studio and Team Foundation Server leverage MSBuild<\/li>\n<li>Command-line utility &#8211; MSBuild.exe<\/li>\n<\/ul>\n<p><b>MSBuild Concepts<\/b><\/p>\n<ol>\n<li>Project<\/li>\n<li>Property<\/li>\n<li>Item<\/li>\n<li>Target<\/li>\n<li>Task<\/li>\n<\/ol>\n<p><b>Projects<\/b><\/p>\n<p>\u2013\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 The root concept in MSBuild<\/p>\n<p>\u2013\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Defines the build process<\/p>\n<p>Example:<\/p>\n<pre><\/pre>\n<pre>\u00a0\u00a0\u00a0 Build<\/pre>\n<pre><\/pre>\n<p><b>Properties<\/b><\/p>\n<p>\u2013\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Name\/value pairs<\/p>\n<p><b>Items<\/b><\/p>\n<p>\u2013\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Set of objects (commonly files)<\/p>\n<p>\u2013\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Can specify meta-data to be applied to the objects<\/p>\n<p>Example:<\/p>\n<pre><\/pre>\n<pre><\/pre>\n<pre><\/pre>\n<pre><\/pre>\n<pre><\/pre>\n<p><b>Targets<\/b><\/p>\n<p>\u2013\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Defines a number of sequential tasks<\/p>\n<p>\u2013\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Projects can have initial and\/or default targets<\/p>\n<p>Example:<\/p>\n<pre><\/pre>\n<pre><\/pre>\n<pre><\/pre>\n<pre><\/pre>\n<p><b>Tasks<\/b><\/p>\n<p>\u2013\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Performs an operation<\/p>\n<p>\u2013\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Uses properties and items<\/p>\n<p>\u2013\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Extensible<\/p>\n<p>Exmaple:<\/p>\n<pre><\/pre>\n<pre>\u00a0\u00a0\u00a0 &lt;MakeDir<\/pre>\n<pre>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Directories=\"$(BuildDir)\" \/&gt;<\/pre>\n<pre><\/pre>\n<p><b>Some Reference Link:<\/b><\/p>\n<p><a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/ms171452%28VS.90%29.aspx\" target=\"_blank\" rel=\"noopener\">http:\/\/msdn.microsoft.com\/en-us\/library\/ms171452%28VS.90%29.aspx<\/a><\/p>\n<p><a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/0k6kkbsd.aspx\" target=\"_blank\" rel=\"noopener\">http:\/\/msdn.microsoft.com\/en-us\/library\/0k6kkbsd.aspx<\/a><\/p>\n<p><a href=\"http:\/\/www.codeproject.com\/KB\/aspnet\/Automate_Builds.aspx\" target=\"_blank\" rel=\"noopener\">http:\/\/www.codeproject.com\/KB\/aspnet\/Automate_Builds.aspx<\/a><\/p>\n<p><a href=\"http:\/\/www.codeproject.com\/KB\/aspnet\/Automate_Builds.aspx\" target=\"_blank\" rel=\"noopener\">http:\/\/www.codeproject.com\/KB\/aspnet\/Automate_Builds.aspx<\/a><\/p>\n<p><a href=\"http:\/\/en.wikipedia.org\/wiki\/MSBuild\" target=\"_blank\" rel=\"noopener\">http:\/\/en.wikipedia.org\/wiki\/MSBuild<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction to MSBuild Microsoft supported build engine XML-based configuration file Intellisense available from Visual Studio using supplied schema Ships with .NET Framework 2.0, it is NOT part of Team Foundation Server Both Visual Studio and Team Foundation Server leverage MSBuild Command-line utility &#8211; MSBuild.exe MSBuild Concepts Project Property Item Target Task Projects \u2013\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 The root&#8230;<\/p>\n","protected":false},"author":1,"featured_media":4384,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","_joinchat":[],"footnotes":""},"categories":[51],"tags":[4161,4158,366,4162,1249,4159,1073,4160],"class_list":["post-254","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-msbuild","tag-about-msbuild","tag-introduction-of-msbuild","tag-msbuild","tag-msbuild-concepts","tag-msbuild-guide","tag-msbuild-overview","tag-properties","tag-what-is-msbuild"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/254","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=254"}],"version-history":[{"count":2,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/254\/revisions"}],"predecessor-version":[{"id":4386,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/254\/revisions\/4386"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media\/4384"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=254"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=254"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=254"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}