July 2004 - Posts

Tasks for MSBuild 2.0 (VS 2005 beta 1)

I have just realised there are over 100 tasks for MSBuild 2.0 in the .NET Solution Build & Deployment Process & Tools GDN sample!  These tasks were developed here in London by Microsoft UK.  They even include NUnit and WiX tasks.  Here is the long list....

Microsoft.Sdc.Tasks.ActiveDirectory.Group.AddUser
Microsoft.Sdc.Tasks.ActiveDirectory.Group.Create
Microsoft.Sdc.Tasks.ActiveDirectory.User.Create
Microsoft.Sdc.Tasks.ActiveDirectory.User.GrantPrivilege
Microsoft.Sdc.Tasks.BizTalk2002.Configure
Microsoft.Sdc.Tasks.Cab.AddFile
Microsoft.Sdc.Tasks.Cab.Create
Microsoft.Sdc.Tasks.Cab.ExtractFile
Microsoft.Sdc.Tasks.CheckComponentInstalled
Microsoft.Sdc.Tasks.CheckProductInstalled
Microsoft.Sdc.Tasks.CodeCoverage.AddAssembly
Microsoft.Sdc.Tasks.CodeCoverage.Create
Microsoft.Sdc.Tasks.CodeCoverage.MergeReports
Microsoft.Sdc.Tasks.CodeCoverage.Start
Microsoft.Sdc.Tasks.CodeCoverage.Stop
Microsoft.Sdc.Tasks.CompileTestSummary
Microsoft.Sdc.Tasks.ComponentServices.Application.AddComponent
Microsoft.Sdc.Tasks.ComponentServices.Application.Delete
Microsoft.Sdc.Tasks.ComponentServices.Application.RemoveComponent
Microsoft.Sdc.Tasks.ComponentServices.Application.Shutdown
Microsoft.Sdc.Tasks.ComponentServices.Application.Update
Microsoft.Sdc.Tasks.ComponentServices.Component.Update
Microsoft.Sdc.Tasks.ConsoleReadLine
Microsoft.Sdc.Tasks.CreateGuid
Microsoft.Sdc.Tasks.Email
Microsoft.Sdc.Tasks.EventSource.Create
Microsoft.Sdc.Tasks.File.Copy
Microsoft.Sdc.Tasks.File.Delete
Microsoft.Sdc.Tasks.Folder.Copy
Microsoft.Sdc.Tasks.Folder.Create
Microsoft.Sdc.Tasks.Folder.Delete
Microsoft.Sdc.Tasks.Folder.Share.Connect
Microsoft.Sdc.Tasks.Folder.Share.Create
Microsoft.Sdc.Tasks.Folder.Share.Delete
Microsoft.Sdc.Tasks.Folder.Share.Disconnect
Microsoft.Sdc.Tasks.GetInstalledComponents
Microsoft.Sdc.Tasks.GlobalAssemblyCache.AddAssembly
Microsoft.Sdc.Tasks.GlobalAssemblyCache.RemoveAssembly
Microsoft.Sdc.Tasks.GetInstalledProducts
Microsoft.Sdc.Tasks.Help.Decompile
Microsoft.Sdc.Tasks.MessageQueue.Create
Microsoft.Sdc.Tasks.MessageQueue.Delete
Microsoft.Sdc.Tasks.MessageQueue.SetPermissions
Microsoft.Sdc.Tasks.Msi.Install
Microsoft.Sdc.Tasks.Msi.Repair
Microsoft.Sdc.Tasks.Msi.Uninstall
Microsoft.Sdc.Tasks.PerformanceCounters.Add
Microsoft.Sdc.Tasks.PerformanceCounters.Remove
Microsoft.Sdc.Tasks.Ping
Microsoft.Sdc.Tasks.Registry.Get
Microsoft.Sdc.Tasks.Registry.Set
Microsoft.Sdc.Tasks.Security.AddAcl
Microsoft.Sdc.Tasks.Security.RemoveAcl
Microsoft.Sdc.Tasks.ServiceProcess.Start
Microsoft.Sdc.Tasks.ServiceProcess.Stop
Microsoft.Sdc.Tasks.ServiceProcess.UpdateIdentity
Microsoft.Sdc.Tasks.Sleep
Microsoft.Sdc.Tasks.SourceDepot.Changes
Microsoft.Sdc.Tasks.SourceDepot.ChangesInInterval
Microsoft.Sdc.Tasks.SourceDepot.CreateBranch
Microsoft.Sdc.Tasks.SourceDepot.CreateClientFromTemplate
Microsoft.Sdc.Tasks.SourceDepot.DeleteBranch
Microsoft.Sdc.Tasks.SourceDepot.GetChangelistFromDateTime
Microsoft.Sdc.Tasks.SourceDepot.GetChangelistFromLabel
Microsoft.Sdc.Tasks.SourceDepot.GetUsersForChangelists
Microsoft.Sdc.Tasks.SourceDepot.Integrate
Microsoft.Sdc.Tasks.SourceDepot.LabelSync
Microsoft.Sdc.Tasks.SourceDepot.ReverseIntegrate
Microsoft.Sdc.Tasks.SourceDepot.Sync
Microsoft.Sdc.Tasks.SourceSafe.Get
Microsoft.Sdc.Tasks.SourceSafe.LabelGet
Microsoft.Sdc.Tasks.Sql.DisconnectUsers
Microsoft.Sdc.Tasks.Sql.Execute
Microsoft.Sdc.Tasks.Sql.Access.Grant
Microsoft.Sdc.Tasks.Sql.Access.Revoke
Microsoft.Sdc.Tasks.Sql.Role.AddUser
Microsoft.Sdc.Tasks.Summary.AddToReport
Microsoft.Sdc.Tasks.Tools.DevEnv
Microsoft.Sdc.Tasks.Tools.FxCop
Microsoft.Sdc.Tasks.Tools.Installshield
Microsoft.Sdc.Tasks.Tools.NDoc
Microsoft.Sdc.Tasks.Tools.NUnit
Microsoft.Sdc.Tasks.Tools.Sn
Microsoft.Sdc.Tasks.Tools.StyleCop
Microsoft.Sdc.Tasks.Touch
Microsoft.Sdc.Tasks.VersionNumber.Load
Microsoft.Sdc.Tasks.VersionNumber.Update
Microsoft.Sdc.Tasks.VirtualServer.Load
Microsoft.Sdc.Tasks.VirtualServer.RegisterVirtualMachine
Microsoft.Sdc.Tasks.VirtualServer.UnregisterVirtualMachine
Microsoft.Sdc.Tasks.VirtualServer.VirtualMachine.Start
Microsoft.Sdc.Tasks.VirtualServer.VirtualMachine.Stop
Microsoft.Sdc.Tasks.VirtualServer.VirtualMachine.OS.CheckHeartBeat
Microsoft.Sdc.Tasks.VirtualServer.VirtualMachine.OS.Shutdown
Microsoft.Sdc.Tasks.Web.AppPool.Create
Microsoft.Sdc.Tasks.Web.AppPool.Delete
Microsoft.Sdc.Tasks.Web.FtpSite.Create
Microsoft.Sdc.Tasks.Web.FtpSite.CreateVirtualDirectory
Microsoft.Sdc.Tasks.Web.FtpSite.Delete
Microsoft.Sdc.Tasks.Web.FtpSite.DeleteVirtualDirectory
Microsoft.Sdc.Tasks.Web.FtpSite.Start
Microsoft.Sdc.Tasks.Web.FtpSite.Stop
Microsoft.Sdc.Tasks.Web.ServiceExtension.AddFile
Microsoft.Sdc.Tasks.Web.ServiceExtension.DeleteFile
Microsoft.Sdc.Tasks.Web.WebSite.AddBinding
Microsoft.Sdc.Tasks.Web.WebSite.Continue
Microsoft.Sdc.Tasks.Web.WebSite.Create
Microsoft.Sdc.Tasks.Web.WebSite.CreateVirtualDirectory
Microsoft.Sdc.Tasks.Web.WebSite.Delete
Microsoft.Sdc.Tasks.Web.WebSite.DeleteVirtualDirectory
Microsoft.Sdc.Tasks.Web.WebSite.Pause
Microsoft.Sdc.Tasks.Web.WebSite.Start
Microsoft.Sdc.Tasks.Web.WebSite.Stop
Microsoft.Sdc.Tasks.Web.WebSite.UnloadVirtualDirectory
Microsoft.Sdc.Tasks.Wix.CompileMsi
Microsoft.Sdc.Tasks.Wix.LinkMsi
Microsoft.Sdc.Tasks.Xml.CanonicalizeFile
Microsoft.Sdc.Tasks.Xml.GetValue
Microsoft.Sdc.Tasks.Xml.ModifyFile
Microsoft.Sdc.Tasks.Xml.XslTransform
Microsoft.Sdc.Tasks.Zip.AddFile
Microsoft.Sdc.Tasks.Zip.Create
Microsoft.Sdc.Tasks.Zip.ExtractFile
Posted by Jamie Cansdale | 8 comment(s)
Filed under:

Release Notes for NUnitAddIn-0.9.482

This latest version was developed using Visual C# Express,
built using MSBuild and packaged using WiX.  It is compatable
with the following versions of Visual Studio...

Visual Studio .NET 2002
Visual Studio .NET 2003
Visual Studio .NET 2005
Visual C# Express
Visual C++ Express

At the moment the installer is completely silent (expect it
to just exit when you open the MSI).

You can find more information and contact the author
using the project weblog...

http://weblogs.asp.net/nunitaddin

At the moment the best way to get to know the add-in is
by going through the following test project.  You will get a
lot more out of using the add-in if you do so.

http://www.testdriven.net/downloads/TestDriven_TestCases.zip

Each method is a manual test case with a set of steps and
expectations.  VS 2003 has been the most thoroughly.
Expect a few test cases to fail in other versions.  Your
feedback and reports are very welcome.

 

[NUnitAddIn-0.9.482d.msi]

Posted by Jamie Cansdale | 12 comment(s)
Filed under:

Field of Dreams

This last few days I have started getting back into MSBuild. At the end of last year I was colaborating with Loren Halvorson trying to make MSBuild part of our respective build processes. The idea was to carry on using Visual Studio .NET 2003, but to convert solution and project files to MSBuild before compiling. At the time the build files (.targets) that came with the PDC version of VS 2005 didn't support embedded resources, the MSBuild engine took a lot of coaxing to work with .NET 1.1 and there was no easy way to build C++ projects.  In the end it all turned out to be a little too painful.  Loren went on to use the NAnt <solution> task (which has matured a lot) and I went back to doing Visual Studio command line builds (the only way at the time to build C++ project files).

This last attempt turned out to be a lot more successful.  I have been able to develop using VS 2005, build using MSBuild (and .NET 1.0), package using WiX and deploy on everything from VS 2002 and up!  You can find the end results here.

I started writing up the steps involved to build a VS 2005 project for .NET 1.0.  Unfortunately it still isn't as strait forward as it might be (fair enough as it isn't officialy supported yet).  If people are interested, I'll write it up when I get back from holiday.  Setting 'CscToolPath' and 'ResGenToolPath' is a good start...

Posted by Jamie Cansdale | 3 comment(s)
Filed under:

VS 2005 beta 1

Graeme Foster writes:
Apparently NUnitAddin needs a reasonable amount of work to make it play nicely with VS 2005, and I'm sure we'd have seen an update if that wasn't the case. In the meantime, a post outlining the current state of play would be really nice... (hint, hint!) ;) Can't wait to get these two working together!

It has been a bit of work getting it to work with VS 2005 beta 1. In this latest revision the Visual Studio extensability assemblies have changed. Also the technique I was using to activate the add-in in a new app domain no longer works. I've now fixed it to use the default domain but this causes issues for VS2002. I can no longer use binding redirects in the app domain's config file to make it work with .NET 1.0. I am now forced to build against .NET 1.0 if I want to remain compatable with VS 2002.  Luckily MSBuild has come to the rescue!

The good news is I should have a version that works with all versions of Visual Studio .NET later on today.   Please drop me a line if you'd like to help test it on VS 2002 or VS 2005 (all versions including C#/C++ Express).  The deadline is today (18 July 04) as I'm off on holiday next week.

Update: [Download] / [Notes]

Posted by Jamie Cansdale | 2 comment(s)
Filed under:

VC Build

[From: Got Dot Net: Visual C++ .NET]

VC Build

VCBuild is a command line utility that enables you to build Visual Studio® .NET 2003 solutions that contain Visual C++ projects, as well as stand-alone Visual C++ projects. This is a light weight alternative to the /build switch of DEVENV.EXE. This is ideal for build lab machines and developers who want to build Visual C++ projects from the command line as well as from within the Visual Studio® .NET 2003 IDE. VCBuild does not require any registration of its libraries to work.

VCBuild is available in this download.

Posted by Jamie Cansdale | 2 comment(s)
Filed under:

MSBuild and Monad

Alex Kipman on the overlap between MSBuild and Monad.  You won't find this on his blog.

Are there any good collections of MSBuild links out there?  I had a quick search but couldn't find anything.  In the mean time I have started a list here.

Posted by Jamie Cansdale | 2 comment(s)
Filed under:
More Posts