MSBuild in Visual Studio Part 5: Quiz Answers, Round 1

Our last post included a short quiz on property escaping, and hopefully you found it somewhat entertaining. Since the answers to when and how we escape can get rather lengthy, the answers to the quiz are split across two posts. Let’s get right into part one! OutputPath: Escaped We escape this property because when the…

0

RTM Version of MSBuild is Now Available

With the release of .NET 2.0 you can now go and download the final version of MSBuild. We are included in the .NET 2.0 Redistributable. Of course, if you have an MSDN subscription you can go and download Visual Studio 2005, and we show up in that download as well. The .NET 2.0 download is…

1

MSBuild in Visual Studio Part 4: A Quiz on Project Escaping

When we last posted everything was looking pretty straightforward. At this point we know how the project system reads and writes properties from the project file. What we haven’t talked about is the mess involved in escaping property values. During the presentation when Rajeev started to talk about this, about half the team started to…

2

Automating the Creation of Custom Tasks with TaskGenerator

It’s pretty common to have a bunch of existing tools to include in a build process, and it can be rather a pain to hand-write classes to wrap each of them as proper MSBuild tasks. As we worked on converting the Visual Studio source code to build with MSBuild we realised it would be super…

5

Now that’s an article on MSBuild!

I was doing a random web search to find the MSDN information on Project.SetProperty(), and came across a super-detailed article on MSBuild. It has sample XML, flow charts, examples of console output, information on item groups, metadata, conditionals, targets and tasks, a list of possible targets to import, our XSD, the object model (which is…

0

MSBuild in Visual Studio Part 3: How the IDE Writes Properties

In our last post we looked at how the project system uses MSBuild to read properties out of the project file. Now that we know how properties get into the project system, let’s take a look at how updated properties get pushed back to the project file. As you might expect after reading the previous…

0

Find out more about Team Build!

Visual Studio Team Foundation includes a feature called “Team Build”, which is essentially a build lab in a box. It is built on top of MSBuild, with all sorts of interesting support for things like syncing source before a build, build verification, and communication of build results to a team. Rob Caron recently posted a…

0

How To: Install a custom target to a well-known location

This question came across our internal conversion alias today: We are deploying our own VS project templates and they use a custom .targets file. Since the user can install our bits anywhere they want, we can’t hardcode the path to the targets file in our .csproj file. Do you have any suggestions on how to…

5

MSBuild in Visual Studio Part 2: How the IDE Reads Properties

Many of the properties in an MSBuild project file show up directly within the Visual Studio environment. The most common place you’ll see the properties show up is in the project properties screen: How do these properties get from the MSBuild XML in the project file into the dialog? Well, as you might guess, the…

3

MSBuild in Visual Studio Part 1: Loading and Saving Project Files

One of the questions we get asked on occasion is how well manual changes to project files round trip through Visual Studio. If you invest a ton of effort into manually tweaking your project file with new targets, it really wouldn’t be fun if opening it inside Visual Studio nuked all the changes. In Visual…

3