How do I know if the .NET framework targeted is 3.5 SP1? RRS feed

  • Question

  • Hi,

    I was asked to create a program using .NET Framework version 3.5SP1. How do I know if my Visual Studio 2010 .NET Framework 3.5 is SP1 or not? How huge is the difference? How do I change it to SP1 if my 3.5 project is not SP1 yet?

    I have about 11 hours to return this work so please help me before that and thanks for anyone even trying!


    Oh and if this is in wrong section, please move this to where this belongs to.

    Wednesday, December 15, 2010 2:47 AM


All replies

  • Here is how to check the target frame work


    Project Properties --> Compile -> Advanced Compile options -> "Target Framework (All configurations)"

    Here you can use the Combo-box to select what ever .Net Framework you want to use.


    Wednesday, December 15, 2010 3:28 AM
  • I can't find such a place. I find for example Project --> Properties --> Application --> Target framework and that hasn't option of "(All configurations)", but right now .NET Framework 3.5 is selected and there's also .NET Framework 3.5 Client Profile option.

    Is there programming differences between 3.5 and 3.5 SP1? If I program for 3.5, does that 100% surely work in 3.5 SP1?

    Wednesday, December 15, 2010 3:45 AM
  • Hello,


    first of all before changing the target you should know what's new in .NET Framework 3.5 SP1:

    1. Performence enhancements on WPF Applications.
    2. WCF Importvements.
    3. .NET Entity Framework Improvements.
    4. Suporting for new SQL Server features.
    5. ASP.NET Improvements.

    See this Link for More Information:

    you can get the version number in many ways:

    • Code




    FrameWorkVersions = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP");



    string[] VersionsNames_Text = FrameWorkVersions.GetSubKeyNames();



    double FrameWorkMajor = Convert.ToDouble(VersionsNames_Text[VersionsNames_Text.Length - 1].Remove(0, 1), CultureInfo.InvariantCulture);



    int ServicePack = Convert.ToInt32(FrameWorkVersions.OpenSubKey(VersionsNames_Text[VersionsNames_Text.Length - 1]).GetValue("SP", 0));





    go there and see Framework Version Installed on your Machine

    • From Registry

    NET 1.0: Software\\Microsoft\\.NETFramework\\Policy\\v1.0

    .NET 1.0: SP1 Software\\Microsoft\\Active Setup\\Installed Components\\{78705f0d-e8db-4b2d-8193-982bdda15ecd}

    .NET 1.0: SP2 Software\\Microsoft\\Active Setup\\Installed Components\\{FDC11A6F-17D1-48f9-9EA3-9051954BAA24}

    .NET 1.1: Software\\Microsoft\\NET Framework Setup\\NDP\\v1.1.4322

    .NET 2.0: Software\\Microsoft\\NET Framework Setup\\NDP\\v2.0.50727 (Version: 2.0.50727.1434)

    .NET 3.0: Software\\Microsoft\\NET Framework Setup\\NDP\\v3.0\\Setup

    .NET 3.0 SP: Software\\Microsoft\\NET Framework Setup\\NDP\\v3.0 (Version 3.0.04506.648)

    .NET 3.5: Software\\Microsoft\\NET Framework Setup\\NDP\\v3.5 (Version 3.5.21022.08)


    Changing Target Framework:

    Right Click on Project -> Properties -> Application -> Target Framework



    Ismail Al-Kiswani

    Control Panel -> Programs -> UnInstall Programs
    Ismail Kiswani
    Wednesday, December 15, 2010 6:53 AM
  • Ok, SP1 is installed. Does that now automatically mean that the code I wrote is 3.5 SP1? The image that Faraz Zone send is different from what I have, I don't have "Compile" in my project's properties at all.
    Wednesday, December 15, 2010 8:01 AM
  • Hello,

    Different projects display project property differntly. So the difference is fine.

    SP1 just add a little feature and fix some issues on before version, so the code you write is now automatically built on 3.5 SP1.

    Here you can view more detailed information about .NET FRAMEWORK 3.5 SP1:


    Edwer Fang [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Thursday, December 16, 2010 3:38 AM