15 minute blog post: A Hidden Feature in Visual Studio 2010

The sunset in Seattle was spectacular this evening. My wife and I climbed the water tower in Volunteer Park to look across the Sound as the sun dipped behind the Olympic mountains and, in the space of a few minutes, the sky turned from blue to orange and pink. We both agreed that the Emerald… Read more

Better Parallelism in MSBuild 4 with YieldDuringToolExecution

Introduction In MSBuild 4 we introduced several performance improvements, particular for large interdependent builds.  By and large they are automatic and you receive their benefit without making any changes to the way your build process in authored.  However, there are still some cases where we are unable to make the best decision.  One such case… Read more

Walkthrough– Publishing an Extensibility Web Control Project Template (Part 2 of 2)

Introduction In Walkthrough– Publishing a Custom Web Control (Part 1 of 2) you learned to create and publish a custom web control. You created the extensibility project manually, a procedure with many steps. Now that you have an extensibility project template, you can publish it to the Visual Studio gallery. Anyone who wants to create… Read more

Visual Studio Managed Multi-Targeting: Part 2: Multi-Targeting in Action

Now that we have gone through some key concepts in the previous part in this series, before we go any further in terms of detailed technical concepts, it would be nice to have some “mental visual model” of how multi-targeting impacts almost all project related scenarios in Visual Studio 2010 and thus benefits the users…. Read more

Programmatically adding/removing/querying VC++ Build Customizations

Build Customizations (Custom Build Rules in earlier editions) are commonly used for invoking external tools that translate files from one format to the other, often resulting in C++ sources that can be compiled at the C++ compilation step. In this post, I will explain how to programmatically add, remove,  and query for Build Customizations in… Read more

Excuse the Mess While We Move

You may have noticed that The Visual Studio Blog looks a bit different than it did last week.  Yesterday, the folks that run http://blogs.msdn.com completed the much-needed blog platform upgrade to Telligent Community 5.5.  As with most major upgrades, there were a few hitches and bugs that are still being addressed. The new URL for… Read more

Walkthrough– Publishing a Custom Web Control (Part 1 of 2)

The Visual Studio 2010 SDK adds several project templates to Visual Studio that let you create and share custom controls. These are called extensibility projects. In addition to compiling the control, the extensibility project prepares it for publication by incorporating it into a VSIX extension. A VSIX control extension can be shared by publishing it… Read more

Visual Studio Managed Multi-Targeting: Part 1: Concepts: Target Framework Moniker, Target Framework

In prior versions of Visual Studio, before Visual Studio 2010, the projects could only target .NET Framework versions v2.0, v3.0 and v3.5 therefore it was, mostly, sufficient to identify a framework only with its version. This is changing with Visual Studio 2010 – now projects will be able to target not only current versions of… Read more

Three New Managed Package Framework features for Visual Studio 2010

This post describes three new features that have been added to the Managed Package Framework (MPF) version 10.0 in Visual Studio 2010. These features are available to anyone developing extensions in managed code for Visual Studio 2010. To get started building extensions for Visual Studio, start by visiting the Visual Studio Extensibility Developer Center on… Read more

A guide to .vcxproj and .props file structure

  If you inspect the contents of a .vcxproj file (the new VC++ project file format in VS2010) in notepad or in VS editor (by first unloading the project and then choosing “Edit Foo.vcxproj” from the context menu in Solution Explorer), you will see that the various top-level MSBuild elements are laid out in a… Read more