2013-06-17 9 views
22

Heute habe ich mit der Linie angetroffenWas bedeutet "SKU" (Attribut) in C#?

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

in meiner App.config Datei, die errors mit Rahmen verursacht, wenn das sku Attribut enthalten war. Obwohl ich viel gesucht habe, konnte ich nicht wirklich herausfinden, was SKU bedeutet (anders als die Definitionen "Lagerhaltungseinheit" oder "Regalhaltungseinheit", von der ich glaube, dass sie nicht mit diesem Fall zusammenhängen).

Kurz gesagt, was bedeutet SKU?

+1

In diesem Beitrag scheint ein Moderator gerade auf einen Wiki-Artikel zu verweisen. Ich denke, was Sie bereits gefunden haben _ist_ die Antwort ... es ist nur ein Stock-Name für die Framework-Version verwendet werden: http://social.msdn.microsoft.com/Forums/en-US/netfxsetup/thread/f28ae863- 02a3-47d7-9397-2a68fe1e5531 – DonBoitnott

+1

Sehr, * sehr * wichtig. .NET 4.5 ist mit 4.0 inkompatibel. Sie können ein Programm mit dem Ziel 4.0 auf einem Computer ausführen, auf dem 4.5 installiert ist. Viele [TypeForwardedTo] -Attribute ersparen Ihnen Probleme. Der Versuch, den anderen Weg zu gehen, verursacht sehr unangenehme Laufzeitausnahmen. –

Antwort

4

Eine gute Antwort auf diese Frage ist hier:

What happens if I remove the auto added supportedRuntime element?

in dem letzten Punkt: „Wenn Sie auf .NET 4.0 ausführen zu können, wollen, brauchen aber keinen neuen 4.5-APIs "

Im Wesentlichen wurde die Konfiguration, die Sie in Ihrer App.config gefunden haben, automatisch hinzugefügt, da Ihr Projekt so eingestellt wurde, dass es automatisch mit .net Framework 4.5 erstellt wird. Wenn Sie möchten, dass Ihre Anwendung mit .net Framework 4.0 (ohne 4.5 in-place update) ausgeführt wird, klicken Sie einfach auf das Projekt - < Eigenschaften und setzen Sie das Zielframework auf 4. App.config wird geändert in:

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

interessante Lektüre auch Rick Strähls Beitrag:

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

1

SKU steht für Stock-Keeping Unit (SKU), die wiederum gibt an, welche .NET Framework Release Diese Anwendung unterstützt.