Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why the version of System.dll is 2.x in my .net project targeting .net framework 3.5?

I've a solution targeting .net framework 3.5. All the references to core dlls have runtime version 2.x since they were compiled with it. Why is it so? Does this mean I'm not using latest versions of those DLLs with bug-fixes?

like image 512
user1004959 Avatar asked Dec 13 '11 10:12

user1004959


2 Answers

Framework 3.5 is still working on the CLR 2.0. The V3 and V3.5 only added some (a lot in fact) new classes, but didn't changed the existing assemblies. The compiler has also changed, but in fact, not the runtime.

That's why in %windir%\Microsoft.NET\Framework\v3.5 (or Framwork64), you won't find the assemblies already available in the V2.

The Framework V4 has introduced a new version of the CLR. You'll find accordingly in %windir%\Microsoft.NET\Framework\v4.0.30319 all assemblies.

The Versions and Dependencies page list all versions, both base class library version and clr version.

[Edit] As the V4.5 is coming soon, the same table is available for the next version.

like image 190
Steve B Avatar answered Nov 15 '22 11:11

Steve B


No, you are using the latest, 3.5 still depending on 2.x in some assemblies file. try to check the assemblies that are coming with 2.x you will never find them as 3.x so there is no new version for those files.

Add 1: To check which framework you are targeting go to project prosperity-> Compile->click on Advance compile Options-> Target Framework.

like image 25
Wael Dalloul Avatar answered Nov 15 '22 09:11

Wael Dalloul