Scott Hanselman

Building .NET 1.1 Projects using Visual Studio 2005

November 5, '05 Comments [1] Posted in ASP.NET | Coding4Fun | Nant | Tools
Sponsored By

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.

Other MSBUILD loveliness from elsewhere on the 'Net:

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.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb
Monday, 07 November 2005 18:37:29 UTC
My initial reaction to MSBuild taking over for NAnt as the build system was the same as yours. But as I have compared how things run in the Java camp to the .NET camp I find that when MS implements a solution which is catching on the in the community they can unify and integrate it well with everything they are doing. With Java I find things are often fragmented and your unique set of skills will not always prepare you for the next project. On one project you may use Spring, Struts, JSF or any combination of JSR implementation, but on the next it could be something completely different using totally different concepts. At least with MS jumping in where there is an obvious need they are able to head off fragmentation. And there is nothing stopping you from using NAnt even though MSBuild provides a similar solution.

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.
Comments are closed.

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.