C# 3.0 Lambda Expressions replacing Anonymous Methods

C# 3.0 Lambda Expressions play an integral part of making the LINQ framework work.  However, even apart from LINQ, they stand alone quite nicely as a great replacement to C# 2.0 anonymous methods in terms of language syntax usability.  For example, consider this simple anonymous method: personList.RemoveAll(delegate(Person person) {     return person.DateOfBirth.Year < 1980; }); While anonymous methods were a great language addition in C# 2.0, the syntax could be confusing at times i...


ConfigurationErrorsException - The configuration is read only

The .NET 2.0 Configuration API is a huge step up from the previous versions of the framework rendering many other previous configuration framework (Enterprise Library Configuration block, etc.) virtually obsolete.  However, one thing that can trip people up is when they try to assign to a configuration property at run-time you can get a ConfigurationErrorsException - The configuration is read only even when a setter is defined on their property: [ConfigurationProperty(item1Property, Defaul...


WinDbg real world example

I recently had to debug a problem for my current client which was exceptionally weird and I was able to utilize WinDbg to help get to the bottom of the problem relatively quickly.  Basically the application in question is an asp.net application that takes a custom object and puts in in an MSMQ message (which currently uses the default binary serializer).  The class in question is marked with the Serializable attribute, has a couple of primitive members (e.g., ints, strings) and a couple of NameV...


WinDbg / SOS Cheat sheet

This is a great post that anyone who works with WinDbg should check out: http://geekswithblogs.net/.netonmymind/archive/2006/03/14/72262.aspx...


Build 64-bit MSI file on Cruise Control

There is a known bug when trying to build 64-bit MSI files.  That is, the wrong InstallUtilLib.dll is embedded in the MSI.  A workaround to that problem is to use Orca to manually manipulate the MSI file in embed the correct version - the workaround is documented here [http://blogs.msdn.com/heaths/archive/2006/02/01/64-bit-managed-custom-actions-with-visual-studio.aspx] .  However, what if you want to automate this process on your build server?  Orca is a windows appication requiring user input....