Es ist wahrscheinlich eine gute Idee, zwischen den Versionen der .NET Framework
gegenüber Versionen des
Common Language Runtime
Die (CLR
) ist die Komponente zu unterscheiden, die unabhängig für den Betrieb der Plattform verantwortlich ist IL-Code auf Ihrem Zielcomputer.Sie müssen Ihre App gegen alle CLR
-Versionen kompilieren, die Sie unterstützen müssen.
Es gibt folgende CLR-Versionen zum Zeitpunkt des Schreibens:
.NET Framework
Die .NET-Framework-Version ist im Grunde die Version der System-Assemblys, aus denen .NET besteht. Jede .NET-Version ist so konzipiert, dass sie mit einer bestimmten Version von CLR
arbeitet, aber mehr als eine .NET Framework-Version verwendet dieselbe Version von CLR
. Zum Beispiel wird CLR
4.0 von .NET 4.0, 4.5 und 4.6 verwendet.
Sie können die Versionen von .NET Framework sehen, und die CLR
Versionen verwenden sie hier: https://msdn.microsoft.com/en-us/library/bb822049(v=vs.110).aspx
Sie sollten Ihre Bibliothek gegen neuere Versionen des Frameworks, wenn Ihr bereits den Aufbau gegen eine ältere nicht wieder aufbauen müssen. NET-Version, die die gleiche CLR
Version zielt. Alle Systembaugruppen verwiesen sollten in einer der folgenden Weisen aktualisiert wurden, um sicherzustellen, Rückwärtskompatibilität:
A ‚sicher‘ in Place-Upgrade, das als die Vorgängerversion auf die gleiche Weise verhält es sei denn Code speziell in neue Opt Verhalten (zB durch Aufruf einer neuen Methode, Instanziierung einer neuen Klasse etc.).
Hinzufügen einer neuen Baugruppe. Da .NET Framework Versionsnummern als Teil der Namensbindung verwendet, erhalten Sie trotzdem die Version, für die Sie kompiliert haben, auch wenn andere Bibliotheken in der Anwendungsdomäne auf die neuere Version mit dem gleichen Namen verweisen.
Beachten Sie, dass das Gegenteil nicht funktioniert. Sie können niemals davon ausgehen, dass Ihre Klassenbibliothek mit einer älteren Version von .NET als mit der kompilierten Version arbeitet, auch wenn die CLR
-Version die gleiche ist.
Ich brauche keine neuen .NET-Funktionen. Ich kann sie nicht verwenden, da die Bibliothek .NET 2.0 unterstützen sollte. Irgendwelche spezifischen Vorteile beim Kompilieren für 4.5.1? –