Visual Studio 2008 – MSBuild


As we get down to the final lap of Visual Studio 2008, I wanted to talk about some of the new features in this release.  Over the next few months, I will be blogging on different features and technologies that I’m excited about.


 


Today, let me start with MSBuild. 


 


At the core of every developer’s environment is the build system.  I remember my early days of Windows NT in the early 90s when I used to spend hours after hours after hours in the build lab to help get the build out knowing that the whole engineering team is waiting on a new build. 


 


In Visual Studio 2005, we introduced a new build system called MSBuild.  In Visual Studio 2008, we built on this foundation and added two new customer requested features.  This release adds  a new focus on reliability by allowing you to control which .Net platform you want to target for each project that you build, such as targeting a build to run on the 2.0 or 3.0 .Net Fx so customers do not have to install the latest framework to run your software.  You can upgrade to VS 2008 and still have confidence that your existing projects not only build, but work without having your customers update to the .Net Fx 3.5.  You can preserve as much of the Visual Studio 2005 build elements as you desire.   If you want to see more details on multi-targeting, see Luke Hoban’s recent blog post.


 


We also added multiple core support for doing multi-threaded builds on the command line for those of you with a lot of projects and long build times.  Enabling multiple core support requires only a few new properties, and MSBuild manages all of the work to schedule projects efficiently and effectively.  The MSBuild team has tested this ability to scale by building some projects on a 64-CPU machine.


 


In Visual Studio, we integrate the entire build system for you, so there is very little that you need to do to build your projects or your software system out of the box.  The underlying build system has full extensibility through not only the IDE, but through a command line and object model. 


 


Like other things, this team is big on self-hosting.  For the VS 2008 product they’ve deployed both the multi-targeting and multi-core support across the entire division – Visual Studio is built using these two features.


 


It is great to see MSBuild being adopted in many different ways by large and small teams.  Inside Microsoft, Team Build uses MSBuild as a core building block.  Other Microsoft Technologies such as WPF build using MSBuild.  Also, developers are using MSDN Forums and open source projects to share customized MSBuild tasks in order to help build and deploy their products.


 


You can check out these new features and ask the MSBuild team questions on their blog or forum


 


Namaste!

Comments (15)

  1. lanad says:

    Great post: You just saved my day! 🙂

    thanks

  2. Daniel Moth says:

    Watch my video on VS2008 multitargeting

  3. Thanks for interesting post! I would appreciate to read such brief overviews.

  4. Andrew Webb says:

    As part of this series, can you clear something up for me please?  Is there or isn’t there a new version of the CLR with VS 2008?  TIA

  5. The build system in the upcoming Visual Studio 2008 software development platform from Microsoft will allow developers to designate the target .Net platform, according to a Microsoft blogger. In another of his many blog entries about Microsoft’s software

  6. Somasegar says:

    Hi Andrew,

    In VS 2008, we are shipping SP1 of the CLR that we shipped with v2.0 and v3.0.

    So, in essence it is the same base but we do have bug fixes and a small number of feature additions like LINQ support.

    -somasegar

  7. Jeff Beehler on Watch TFS – Project Server Connector Channel 9 video. Cameron on Another Channel9 Video….

  8. eohman says:

    Somasegar – we are an ISV for Dyn CRM 3.0. We are preparing for VS 2008 and are working with our PAM to become a possible early adopter of TFS and VS08.

    We would like to migrate our current code for Dyn CRM 3.0 to VS2008, however it needs to be compiled in with .NET v1.1.

    1. Is this possible to compile with v1.1?

    2. If we choose to migrate now to vs2008, will the RTM version upgrade without undoing everything previously migrated?

    The answers to these questions will help our decision to become an early adopter much easier.

    – Chad Ohman

  9. Somasegar says:

    With VS 2008, we do support multi-targeting but only for .NET FX 2.0, 3.0 and 3.5.  You can’t use VS 2008 to compile with .NET V1.1.

    If you choose to migrate now to VS 2008, our goal is to support you rmigration at RTM.

    -somasegar

  10. Mike says:

    I don’t care if it can slice, dice and puree.  I just hope they don’t release a buggy mess this time (ala 2005, let’s face it, Vista incompatibility, crashing designers, etc.. not good).  If you can hear me visual studio team:  I don’t care if it takes 100 beta releases to get it right, do what you need to do to ship a product wont require a 500 MB Service Pack on the first go around.  I’m patient enough to wait for a product that actually works.  And I’m sure 99% of other developers are too.

    Thanks

  11. I hope that MSbuild of Visual Studio 2008 will provide us the International Localized Language Customize – like Khmer Uincode and Asian Language as well.

    Thanks

  12. Dmitry says:

    Thank you! Very to the point.

    Focusing on improving build times will be a really big deal for many shops.

  13. David Young says:

    Can you supply a link or provide information on the difference between standard and pro editions?

  14. venkatsuresh says:

    HI Somasegar,

    I am using Msbuild to compile dotnet code and get the out put .

    It was working fine in vs2010 solution generating the publish out put,but coming to vs2008 code compiling but not generating the output.

    can u please share me the ms build code for vs2008 code publish .

    Reply me:suresh.scmdev@gmail.com