One of the most requested features for MSBuild is the ability to have it build not only .NET Framework 2.0 projects, but version 1.1 projects as well. Robert McLaws has had some success with his MSBuild Compatibility Toolkit but he acknowledges that it has limitiations including;
- Resolving COM References
- Generating resources
- Resolving .NET version-specific managed references Enter into the picture MSBee (or MSBuild Everett Environment), which is a project being worked on by Craig Lichtenstein in the MSBuild Team. Here’s Craig’s scenario on what he is hoping to enable.
“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.”
Read about Craig’s progress on his blog at http://blogs.msdn.com/clichten/default.aspx
- Generating resources