What does "SKU" (attribute) mean in C#?

Cemre picture Cemre · Jun 17, 2013 · Viewed 19.8k times · Source

Today I encountered with the line

<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>

in my App.config file which caused errors with framework when the sku attribute was included. Although, I searched a lot I couldnt really find out what SKU means (other than the definitions "stock keeping unit" or "Shelf Keeping Unit" which I dont think are related to this case).

In short, what does SKU mean/stand for ?

Answer

ilmatte picture ilmatte · Sep 1, 2014

A good answer to this question is here:

What happens if I remove the auto added supportedRuntime element?

in the last point: "If you want to be able to run on .NET 4.0, but don't need any new 4.5 APIs"

Essentially the configuration you found in your App.config has been added automatically because your project has been set to automatically to be built with .net Framework 4.5. If you want your application to run with .net Framework 4.0 (with no 4.5 in-place update) you just right.click the project --< Properties and set the target framework to 4. App.config will be modified in:

<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>

Interesting read also Rick Strahl's post:

http://weblog.west-wind.com/posts/2012/Mar/13/NET-45-is-an-inplace-replacement-for-NET-40