A Tale of Two Compilers

In previous posts, I have hinted at the fact that there is more than one C# compiler on a machine with Visual Studio and .NET Framework installed. Sometimes there are several. Simply put, when we release Visual Studio we release a compiler referred to as the in-process compiler, or in-proc compiler. We generally also release…

5

Problems Upgrading from .NET Framework 3.5 Beta 2

I’ve heard of reports of problems upgrading the C# command-line compiler from the Beta 2 version to the final release, and indeed there is a slight problem. The problem rests with the version number of the compiler’s resource DLL. If you’ve upgraded from Beta 2 of Visual Studio 2008 to the final release version or…

4

Breaking Change in Linq Queries Using Explicitly-Typed Range Variables

There’s a change coming in .NET Framework 3.5 Service Pack 1 that will affect some programs containing queries that explicitly specify the type of the range variable. The affected queries are those whose range variable type differs from the element type of the sequence being queried and the element type cannot be converted to the…

12

The Win32Manifest Switch

In order for managed applications to play nice with Vista, specifically to avoid virtualization when writing to special areas of the registry and filesystem, the VS2008 and .NET 3.5 C# and VB compilers write a manifest in the native resource section of EXEs. The C# and VB compilers now support a pair of switches, “Win32Manifest”…

2