# Tuesday, August 14, 2007

Agile Processes at work

This excellent post from Jake Lawlor's a great practical guide to applying agile processes in the real world. 

This isn't new thinking by any means, but when trying to coach others and improve your own processes you find surprisingly few practical reference points for applying agile processes into actual organisations.

posted on Tuesday, August 14, 2007 8:03:57 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0]
# Monday, August 13, 2007

CRM Mapping Custom Attributes

Just found a useful post that helped in resolving why Custom Attributes weren't being copied from Leads to Contacts when 'Converting' a lead.  It's all in the mappings...

http://blogs.inetium.com/blogs/rtoenies/archive/2006/07/31/272.aspx

posted on Monday, August 13, 2007 2:54:30 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0]
# Wednesday, August 08, 2007

Windows Powershell - Batch files with knobs on

Just downloading a few .NET 3.0 bits and pieces from MS and happened across some 'you might like to download this' links.  Once of which was Windows PowerShell.  Haven't tried it yet, but will certainly give it a go in my next 'scripting' escapade.

Microsoft have obviously developed this quite a lot based on the amount of documentation I've not had chance to look at yet!

posted on Wednesday, August 08, 2007 10:37:05 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0]

ReSharper - Getting more out of it

ReSharper's got plenty of functionality (more of which I find and use as time goes on), but I found this on Joe White's blog that is certainly a useful reference and taught me a couple of new things too..

posted on Wednesday, August 08, 2007 8:02:25 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0]
# Tuesday, August 07, 2007

Breaking Changes between .NET 1.1 and 2.0

I spotted an old post from Brad Abrams on breaking changes for .NET 1.1 apps recompiled with 2.0.  The links had moved but are still relevant...

http://msdn2.microsoft.com/en-au/netframework/Aa570326.aspx

My own observations from converting projects are a little higher level in that I'm also interested in what effort you're liable for when converting, and also things to watch out for if (like me) you're having to persist a 'shared' code base of 1.1 and 2.0 core libraries (temporarily) while you migrate all your client apps.

ASP.NET Projects.  This includes Web Service projects.  You'll find that you'll probably have to reconstruct these projects based on the content files and you'll also need to make a decision on the model you're going to use for debugging - i.e. whether to use the new debugging host (removing IIS from the debugging equation) and whether to use a dynamic or static port.  Steer clear of the 'Web Site' project too as this could leave you confused for hours wondering why you can't debug anything - look for the ASP.NET projects.  More info on the ASP.NET side can be found from Peter Laudati's post.  Microsoft also have an article covering conversion of ASP.NET projects

DataSets.  These have changed in that a 'designer' file is now the main source file (apart from the .xsd).  If you're sharing DataSets across 1.1 and 2.0 projects just share the .xsd file otherwise you'll be asking for trouble as the other generated files are incompatible.  Any structural changes to a DataSet in one project (say .NET 1.1) will not be reflected in the corresponding 2.0 project.  You'll need to check out the XSD in both places (assuming you're using VSS) and build both in order to avoid breaking one of the projects.

Windows Forms.  I've had a recent experience where the InitializeComponent() method in a form (edited with VS 2005) places calls that aren't compatible with .NET 1.1.  The code compiles (as below) but 'exception thrown by target of an invocation' gets thrown on the following line...

((System.ComponentModel.ISupportInitialize)(this.validatingProgress)).BeginInit();

This is because the control (a PictureBox in this case) doesn't implement ISupportInitialize in .NET 1.1 but does in 2.0.  The equivalent in 1.1 is SuspendLayout()

This would just be one example of something that's syntactically correct, but could fail at runtime.

posted on Tuesday, August 07, 2007 4:38:59 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0]