Friday, December 30, 2011

Adventure #2:The C# Compiler Version Mystery

Comment: This is a post i am porting from another blog! An old note.

When I ran the csc/? command at the Visual Studio command prompt last time, i noticed something unusual. The version of the compiler read 3.5.30729.1.

Specifically, it read  as follows.



Microsoft (R) Visual C# 2008 Compiler version 3.5.30729.1
for Microsoft (R) .NET Framework version 3.5
Copyright (C) Microsoft Corporation. All rights reserved.

I vaguely remembered reading that the .NET Framework 2.0's C# compiler version was 8.something.

With increased curiosity, i checked my Framework folders.

I have the following installed on my machine.

Windows Vista Business Ed. (Service Pack 1)
Microsoft Visual Studio 2008

I navigated to C:\Windows\Microsoft.NET\Framework

The Framework folder showed the following directories



Thus i have these .NET Frameworks installed on my machine.
v1.0.3705
v1.1.4322
v2.0.50727
v3.0
v3.5

Upon investigating these folders
I found csc.exe in the v2.0.50727 and v3.5 folders.

Interesting! Two versions of the same compiler in 2 different folders with the same name. Different Versions.

I brought up my traditional command prompt. Navigated to each of these folders and executed the csc/?
command.

The 2.0 Framework's C# compiler had this header.



And the 3.5 Framework's C# compiler had the header that looked like this.



Wow. That's a significant change in the version numbers, don't you think?

I feel mystified by the compiler version change. I expected the 3.5 C# compiler's version to be 9.something.

Donno what those C# compiler guys were thinking! May be, they wanted to synchronize the Framework version and the compiler's version. May be i will know when i get to work with .NET 4.0

Anyways, my adventure came to an abrupt end as i could not find any resource that could answer my questions.

And i got to also have my dinner soon. So, see y'all later.

No comments:

Post a Comment