none
Visual studio project targets .net 3.5, but runtime version is v2.0.50727 RRS feed

  • Question

  • I have a Visual Studio 2010 that was upgraded from Visual Studio 2005, then 2008.  The project properties has been set to target .net 3.5 and does run ok. 

    However when I run my obfuscator or encrypter, it showed runtime as 2.0.5. 
    I looked at my references for system and the path is

    C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.dll

    But the path for system.core is

    C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.5\System.Core.dll

    I think I am asking for confusion in the code.
    Should I update all my references to v3.5 and then my runtime will show 3.5?  But when I go to add a reference, filtered for .net 3.5, every Version says 3.5.0.0, but the every runtime says v2.0.50727.

    thank you.

     


    • Edited by dgh Monday, November 21, 2011 1:59 AM
    • Moved by Vicky SongMicrosoft employee Tuesday, November 22, 2011 2:34 AM CLR issue (From:Visual Studio Setup and Installation)
    Monday, November 21, 2011 1:53 AM

Answers

  • Hi dgh,

    This is because the "runtime version" indicates the version of the CLR.

    .NET Framework 3.5 still uses CLR 2.0. So what you see is very normal.

    Please see the picture in this link (http://msdn.microsoft.com/en-us/library/bb822049.aspx) for more details.

    As you can see in the picture, there is no 3.5 runtime. And I think there is no need to change anything in your project.

    Best regards,


    Min Zhu [MSFT]
    MSDN Community Support | Feedback to us
    Tuesday, November 22, 2011 8:23 AM
    Moderator

All replies

  • Hello dgh,

    I am moving your thread to the Common Language Runtime forum so that you can get better response.

    Thanks.


    Vicky Song [MSFT]
    MSDN Community Support | Feedback to us
    Tuesday, November 22, 2011 2:34 AM
  • Basically .NET Framework Version is not always equal to the Runtime version used. For example you can build against .NET Framework 3.5 and run the application using .NET runtime 2.0 if the application is not using advanced features of 3.5 such as LINQ. See this article for more details.
    Click the 'Vote as Helpful' arrow if this post was helpful.
    Tuesday, November 22, 2011 5:48 AM
  • Hi dgh,

    This is because the "runtime version" indicates the version of the CLR.

    .NET Framework 3.5 still uses CLR 2.0. So what you see is very normal.

    Please see the picture in this link (http://msdn.microsoft.com/en-us/library/bb822049.aspx) for more details.

    As you can see in the picture, there is no 3.5 runtime. And I think there is no need to change anything in your project.

    Best regards,


    Min Zhu [MSFT]
    MSDN Community Support | Feedback to us
    Tuesday, November 22, 2011 8:23 AM
    Moderator
  • Min Zhu, Thanks for that link. I was looking for this info on MS site but could not find it.
    Click the 'Vote as Helpful' arrow if this post was helpful.
    Tuesday, November 22, 2011 9:37 AM
  • Hi dgh,

    This is because the "runtime version" indicates the version of the CLR.

    .NET Framework 3.5 still uses CLR 2.0. So what you see is very normal.

    Please see the picture in this link (http://msdn.microsoft.com/en-us/library/bb822049.aspx) for more details.

    As you can see in the picture, there is no 3.5 runtime. And I think there is no need to change anything in your project.

    Best regards,


    Min Zhu [MSFT]
    MSDN Community Support | Feedback to us

    In my opinion, it is a best practice to always refer to the most recent version, so yes, you should update your references. As Min Zhu stated above, it will not have any effect on your project.~Christine. 
    Christine Sindelar
    Tuesday, November 22, 2011 2:04 PM
  • Hi dgh,

    We have not heard from you in a couple of days.

    Please post back at your convenience if we can assist further.

    Enjoy your day!


    Min Zhu [MSFT]
    MSDN Community Support | Feedback to us
    Friday, November 25, 2011 1:39 AM
    Moderator