0

Client on their WinSerevr 2003 R2 server has .NET 4.0 Client Profile as in this screen shot they sent me:

enter image description here

I am using VS 2012 Professional and have Targeted .NET 4.0 ..not

4.0 Client Profile

Will that be a problem? Should I instead compile to Client Profile one?

  • See this post: http://stackoverflow.com/questions/2759228/differences-between-microsoft-net-4-0-full-framework-and-client-profile – Patrick Hofman Oct 09 '14 at 14:01
  • It could be a problem if you are using features that aren't supported in client profile. If you intend to support Client Profile installations, you should build to Client Profile... that way you can be sure that you're not accidentally referencing stuff that isn't included in CP. If it won't build, then you have a new problem to consider. – spender Oct 09 '14 at 14:02
  • *Client Profile* is simply a cut version of full framework. Everything what is included will works. – Sinatr Oct 09 '14 at 14:02

2 Answers2

2

No. You have to compile for Client Profile to let it work on a .NET 4.0 Client Profile installed machine.

You need to choose whether you really need the Extended version. This post might help you making your mind up.

My opinion: start building with Client Profile. If there is anything you miss and really need, use and build for Extended.

Community
  • 1
  • 1
Patrick Hofman
  • 153,850
  • 22
  • 249
  • 325
  • ok thanks, will do, So if there is something missing I should quickly know by getting a compile error? – ConfusedSleepyDeveloper Oct 09 '14 at 14:04
  • Yes, indeed. Using `System.Web` is an issue for example. You will notice it directly if you need it for the missing assemblies / methods. – Patrick Hofman Oct 09 '14 at 14:05
  • Ok thanks, One last thing to confirm: Do you mean if they are on client profile and I compile to 4.0 Full version, they won't be able to even run the application ? OR do you mean IF my code is using something that is MISSING in Client Profile version, then they won't be able to run it? Thank for info – ConfusedSleepyDeveloper Oct 09 '14 at 14:10
  • I thought the difference was embedded in the compiled assembly, so you can't use it if you don't have the right version installed. – Patrick Hofman Oct 09 '14 at 14:11
1

Depends if your application is using features not included in the client profile.

you can see a full list of the assemblies included in the client profile, and a whole host of other information, here: What’s new in .NET Framework 4 Client Profile RTM

Darren Wainwright
  • 30,247
  • 21
  • 76
  • 127
  • Ok thanks, One last thing to confirm: Do you mean if they are on client profile and I compile to 4.0 Full version, they won't be able to even run the application ? OR do you mean IF my code is using something that is MISSING in Client Profile version, then they won't be able to run it? Thank for info – ConfusedSleepyDeveloper Oct 09 '14 at 14:11
  • 1
    The latter - if you're using something in your app that isn't in the profile then it won't run. you're best, like Patrick says, to try and compile under the client profile - if it won't build, you have problems. – Darren Wainwright Oct 09 '14 at 14:16
  • Well I tried to compile all my stuff to Client Profile, one of them that is a core DLL I haven't written it failed, my own program still compiled to Client Profile fine, but my program is referencing that DLL too. So Problems? – ConfusedSleepyDeveloper Oct 09 '14 at 14:23