Search code examples
visual-studio-2010.net-4.0.net-client-profile

Why does Visual Studio 2010 have .NET Framework 4.0 Client Profile as default project type?


Client profile mode is the subset of Full .NET Framework and it eliminates the designer related assemblies which are unnecessary for the end user deployment and etc. Everything looks great and it really helps us to solve the deployment huge data transfer problem.

But what is the need of Client profile project type as the default one? I really feel that this is annoying me since I need to switch to full Framework mode whenever I create a new project.

P.S : Please do not suggest me to set the .NET Full Framework mode as the default one in Visual studio if it has. I want to know the real benefit of this new project type and may be I would have misunderstood this concept.

Do you have an idea on this?


Solution

  • Well - it depends on what you are doing.

    For most projects it is totally sufficient to target the Client profile. You already described the advantages: Faster installation and less data to download during installation of the .NET framework.

    Only if you need classes mainly used on servers you have to manually change to the "Full" version.

    Here's my guess:
    However, as most developers who don't know what it does won't change the default state, the default state is the Client Profile - it has no real disadvantages unless you need the "advanced" classes.
    Therefore, if your project would run on the "Client Profile" framework, you should target it - some users who do not have the .NET Framework already installed will profit from it.

    The others won't notice as the "Client Profile" is a subset of the "full" .NET and fully compatible.