My previous post mentioned we were considering/prototyping a solution for MSBuild to build projects targeting .NET framework 1.1. After much discussion and research, we're going for it! The project is currently named MSBee, which stands for MSBuild Everett Environment (Everett is the codename for Visual Studio 2003). I'm hoping that we'll keep this name permanently.

I'd like to set some expectations upfront regarding what this solution will do. The scenario we're envisioning is a user converting an Everett project to a Whidbey project. If a user is interested in targeting .NET 1.1, he can add an extra import to the project file. Then, when invoking MSBuild, he can set a property on the MSBuild command line which will import the necessary targets file during the build. When building this project for .NET 1.1, the ResolveCOMReferences and GenerateResource tasks will function. Additionally, a best effort is made to map assembly references from .NET 2.0 assemblies to their .NET 1.1 equivalents (if possible). In other words, if A.dll in Whidbey maps to B.dll in Everett, we will automatically replace A.dll with B.dll before invoking the csc task. You will also be able to add your own mappings. There will be additional documentation that goes over exact scenarios we've tested and what functionality we're providing, and consequently what scenarios we don't enable.