Why is System.dll version 2.x in my .net project for .net framework 3.5 project?

I have a solution focused on .net framework 3.5. All links to core dll have version 2.x versions, since they were compiled with it. Why is this so? Does this mean that I am not using the latest versions of these DLLs with bug fixes?

+6
source share
2 answers

Framework 3.5 is still working on CLR 2.0. V3 and V3.5 only added some (in fact) new classes, but did not change existing assemblies. The compiler has also changed, but in fact it is not runtime.

This is why in %windir%\Microsoft.NET\Framework\v3.5 (or Framwork64) you won’t find the assemblies already available in V2.

Framework V4 introduces a new version of the CLR. Accordingly, you will find all assemblies in %windir%\Microsoft.NET\Framework\v4.0.30319 .

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

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

+6
source

No, you are using the latter, 3.5 is still dependent on 2.x in some assembly files. try checking the assemblies that come with 2.x, you will never find them as 3.x, so there is no new version for these files.

Add 1: To check which structure you are aiming for, go to the prosperity of the project-> Compile-> click "Precompile parameters-> Target structure".

+1
source

Source: https://habr.com/ru/post/903668/


All Articles