+91 700 483 5930   +91 810 584 3520    info@scmgalaxy.com
LOGIN
Sign In or Register
Avatar
Not Registered Yet?

Join Now! It's FREE. Get full access and benefit from this site

Reset My password - Remind Me My username

Username
Password
Remember me
 
scmGalaxy logo
Msbuild

Msbuild (4)

Msbuild

.proj
A popular convention for generic use. Commonly used by a main build script.
Examples:
build.proj
main.proj 
company.product.build.proj
 
.targets
 
.targets files are those which is meant to be imported into other files using the Import element. Since these files are strictly re-useable they don't actually build anything. They typically are missing the properties and item values to actually build anything.
 
Examples:
 
Microsoft.Common.targets
Microsoft.CSharp.targets
Microsoft.Data.Entity.targets
 
.**proj
 
Language specific convention where **** represents the language short acronym.
 
Well-known extensions:
 
.csproj    | C#
.vbproj    | VB.NET
.vcxproj   | Visual C++
.dbproj    | Database project
.fsproj    | F#
.pyproj    | IronPython
.rbproj    | IronRuby
.wixproj   | Windows Installer XML (WiX)
.vdproj    | Visual Studio Deployment Project
.isproj    | InstallShield 
.pssproj   | PowerShell
.modelproj | Modeling project
 
.props
 
A project property sheet used by Visual C++ projects (.vcxproj).
 
Examples:
 
Microsoft.Cl.Common.props
Microsoft.Cpp.CoreWin.props
Microsoft.Cpp.props
Microsoft.Link.Common.props
 
.tasks
 
A common include file to be imported by a calling MSBuild project. Contains a list of <UsingTask> elements.
 
Examples:
 
Microsoft.Common.Tasks
MSBuild.ExtensionPack.tasks
 
.settings.targets
 
(This is a related convention if not strictly-speaking a file extension.)
 
A common include file to be imported by a calling MSBuild project. Contains "various properties related to shared utilities used during the build and deployment processes as well as any other common settings" (Sayed Ibrahim Hashimi, 2009).
 
Examples:
 
EntityFramework.settings.targets
 
Compiler.settings.targets
 
Library.Settings.targets

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 - MSBuild.exe

 MSBuild Concepts

  1. Project
  2. Property
  3. Item
  4. Target
  5. Task

 

Projects

–        The root concept in MSBuild

–        Defines the build process

 

Example:

    Build

 

Properties

–        Name/value pairs

 

Items

–        Set of objects (commonly files)

–        Can specify meta-data to be applied to the objects

 

Example:

    
    

 

 

Targets

–        Defines a number of sequential tasks

–        Projects can have initial and/or default targets

 

Example:

    

 

Tasks

–        Performs an operation

–        Uses properties and items

–        Extensible

Exmaple:

    
        Directories="$(BuildDir)" />

 

Some Reference Link:

http://msdn.microsoft.com/en-us/library/ms171452%28VS.90%29.aspx

http://msdn.microsoft.com/en-us/library/0k6kkbsd.aspx

http://www.codeproject.com/KB/aspnet/Automate_Builds.aspx

http://www.codeproject.com/KB/aspnet/Automate_Builds.aspx

http://en.wikipedia.org/wiki/MSBuild

 

With Visual Studio 2010 RC released recently, we jumped on the release and began to code with VS2010.  One issue that popped up was that now all builds were targeting MSBuild 4.0.

That doesn’t seem to be a big problem until our CruiseControl CI server kicked in, downloaded our updated code and failed building the upgraded projects.

Fortunately there is a very quick solution to this little problem.  There are a couple of requirements.

1. You need to have VS2010 RC installed somewhere
2. You need to download the .Net Framework 4.0 (I recommend the full version and not just the Client Profile, it ensures you don’t miss anything)

To fix, do the following:

1. download and install the .Net Framework 4.0 on the CI server (then restart the server)
2. on the computer where VS2010 RC is installed go to the following path:
%programfiles%\MSBuild\Microsoft\VisualStudio
3. copy the v10.0 folder located in that directory into the CI server at the same path (or wherever our MSbuild path is on the CI server)
4. Once that is done, edit the ccnet.config file at the tag and change it to the new .Net 4.0 Framework installed (you should only need to change the section “\v3.5\” to “\v4.0.xxxxx\”

Hope this helps

NEW TUTORIALS