Building .NET 1.1 Projects using Visual Studio 2005
UPDATE: The MSBuild Everett Environment (MSBEE) has just been announced! Soon this will be a (reasonably) supported scenario and we'll all be able to build both 1.1 and 2.0 versions of .NET code on Visual Studio 2005. Shiny.
I'm definitely digging the information on Jomo Fisher's MSBUILD blog. I've long been critical of MSBUILD calling it a "NAnt wanna-be" (usually in bitterness) because I'm SUCH a NAnt fan. However, while writing the book and working with VS.NET 2005 on the Coding4Fun articles I've grown to respect MSBUILD as an entity in its own right. More and more, I've been consistently impressed with it's flexibility and power.
Here's some gems from Jomo's site:
- Programmatically Converting older Projects to MSBuild - This kicks ass:
using System;
using System.Text;
using Microsoft.Build.Conversion;
class ConvertProject
{
static void Main(string[] args)
{
ProjectFileConverter c = new ProjectFileConverter();
c.OldProjectFile = args[0];
c.NewProjectFile = args[1];
c.Convert();
}
} - Using VS.NET to target .NET 1.1 - A great and very visceral example of how the .targets system works. Additional info at Jon Galloway's blog who linked to Armand's blog. I ended up using Armand's "Everett Target" installer and it worked great with RTM. Armand's installer is a roll-up of Jomo's sample.
- Disclaimer: This target doesn't support COM references, Web references and a few other cases. But it sure proves the concept!
- ACTION REQUIRED (That means you blog reader!): Clichten is looking for feedback on this very issue. Should Microsoft offer rich target support for ISVs and vendors to target 1.1 with VS.NET 2005? Damn right they should.
- If you care about this issue, go make your voice heard!
Other MSBUILD loveliness from elsewhere on the 'Net:
- Gustavo Guerra has a .targets file that adds 11 new targets to VS.NET 2005 including Mono. I suspect we're going to see some amazing stuff happening around targets. It'll be interesting to see how far it goes.
- Speculation: Could this flexibility make VS.NET 2005 an Eclipse competitor by enabling non-.NET targets?
- SharpDevelop (an alternate free .NET IDE) ships with two custom MSBuild Tasks for Mono explains Matt Ward. It takes a different tack than Gustavo's .target file. Instead the custom tasks do the actual work of compiling the code and delegating to MCS (the Mono compiler)
- Robert McLaws continues to push the MSBUILD envelope. Robert's MSBuild toolkit may be the engine on top of the engine. He adds a much-needed MSBUILD Configuration option to the Solution Explorer. He says, Watch this space. And I watch.
About Scott
Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.
About Newsletter
Comments are closed.
Another reason I do not mind MS providing their official solutions is they are now allowing their developers to interact and do the right thing when the developer community needs something. Too many times I have wished an open source Java project would do something but they often do not work on it full time and do not have the same resources to add the requested features. It seems to me that MS improved dramatically in this regard.