Visual Studio Blog

The official source of product insight from the Visual Studio Engineering Team

Custom Build Steps, Tools, and Events

The VC++ build system is of course MSBuild based in VS 2010.  This automatically gives you a great deal more flexibility to customize your build than you had with .vcproj project files in prior releases.  We went out of our way to ensure that the .targets files that drive the build of a .vcxproj file in VS 2010 leverage as much ...

MSBuild Property Functions

Have you ever wanted to do something simple in a build, like get a substring of a property value, and found that MSBuild didn't have syntax for it? You then had to write a task for it, which was tiresome to do for such a simple operation. What's more, if you wanted to do this during evaluation – outside of a target – you couldn't run a ...

Tuning C++ build parallelism in VS2010

A great way to get fast builds on a multiprocessor computer is to take advantage of as much parallelism in your build as possible. If you have C++ projects, there’s two different kinds of parallelism you can configure. What are the dials I can set? Project-level parallel build, which is controlled by MSBuild, is set at the solution level in...

MSBuild 4 Detailed Build Summary

Introduction When we were developing the current version of MSBuild, we spent a lot of time analyzing builds to determine where our performance issues lay. The standard logging, even on diagnostic verbosity and with the performance summary enabled (/clp:PerformanceSummary=true on the MSBuild command line) doesn’t give us the kind of ...

My Visual Studio 2008 is broken after uninstalling .NET Framework 4.0

  If you find out that after trying out one of the beta versions of the new Visual Studio 2010 and uninstalling it together with the .NET Framework 4 or uninstalling only .NET Framework 4, every time you try to load a project on Visual Studio 2008 you face the following error:   “Unable to read the project file ‘Project.proj...

Getting Started with MSBuild

I have had several customers asking me about MSBuild and how to get started learning the language and using it. A little over a year and a half ago, I joined the MSBuild team. When I got here, I did not even know what MSBuild was, and I have been a Visual Studio user for many years. This article is to help you understand what MSBuild is, how ...

MSBuild Task Factories: guest starring Windows Powershell

One of the cool new features of MSBuild 4.0 is the extensible task factory.  Task factories allow you to include scripts directly in your project file (or an imported .targets file) and have those scripts parsed and executed by your favorite interpreter.  Those scripts might even be C# or VB.NET code snippets that get compiled into ...

Build Extensibility with .NET Framework 4

Introduction With the release of .NET Framework 4 and Visual Studio 2010 comes MSBuild 4.0. Among the many great features in this version are new mechanisms to allow you (or your build lab) to extend the default build targets files with your own customizations. While some of this functionality did exist in previous versions, it has been made ...

If your build fails with “MSB6002: The command-line for the “ResGen” task is too long”

UPDATE: This issue is fixed in .NET 4.5. As always, feedback is welcome! Please leave your comments in this blog post and report any bugs on Microsoft Connect.   If you have the RC build of VS2010, you are targeting the 3.5, 3.0, or 2.0 Framework, you have a VB or C# project which has a lot of references, and you also have a lot of .resx ...

MSBuild Interview on CodeCast

I had the distinct pleasure to meet up with Ken Levy and talk about MSBuild. Ken is responsible for the CodeCast interviews at code magazine.The interview consists of an in-depth technical and scenario discussion on how and why to use MSBuild, both in Visual Studio 2008 and Visual Studio 2010.  We also discussed new ...