Which version of a .net class am I using?

sevzas used Ask the Experts™
I'm presently using Microsoft Visual Studio 2005.  I've always been under the impression that MSVS 2005 comes with .net 2.0.

Now I'm researching a feature in the System.GC class that according to Microsoft is available on .Net 3.5 and higher.  The feature is called RegisterForFullGCNotification.  So I'm surprised to see that in my MSVS 2005, I can code using this feature.  A look on the hard disk in C:\windows\Microsoft.NET\Framework reveals that I have

v1.0.3705, v1.1.4322, v2.0.50727, v3.0, v3.5

So I have the following questions:

1. How does MSVS choose the version of a class that I'm going to be using?
2. How can I find out what MSVS has chosen while developing?
3. Are there any known issues using .net 3.5 classes with MSVS 2005?
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
1. When you create a new project, you can select a framework.(dropdown usually on top right hand side of new project dialog)
2. Right click on your solution in solution explorer and click properties. You can find framework in the application tab
3. No major issues atleast. I have been using 2005 for quite some time before I switched to 2008. Just keep service packs and patches updates.


If I've already created the project, how can I determine what the current framework setting is?


ok.  I see that the references tab tells me which .net libaries are included.  The System.GC class I assume is in System.dll.  System.dll is in the v2.0.50727 folder.  There is not System.dll in the v3.5 folder.  So it appears to me that I'm using some kind of patch release of .net 2.0 (probably sp1).

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial