2017-03-01 1 views
2

Beim Erstellen einer self-contained .NET Core deployment müssen Sie eine Laufzeit-ID Ihrer Zielplattform angeben, z. B. win7-x64 oder win10-x64.Sind beim Aufbau einer eigenständigen .NET Core-Bereitstellung höhere Versionen von Ziel-BS besser?

Wir haben festgestellt, dass diese Ziele abwärtskompatibel sind (ich kann auf meinem Windows 10-Entwicklungscomputer eine Anwendung ausführen, die auf win7-x64 ausgerichtet ist).

Meine Frage ist: Gibt es einen Vorteil für die Ausrichtung der höchstmöglichen Laufzeit-ID? Unsere Server sind 2008 R2, was bedeutet, dass wir auf win81-x64 oder niedriger zielen müssen. Gibt es Laufzeitüberlegungen zum Targeting win81-x64 vs win7-x64?

+0

Sie sollten nur eine höhere Version tarnen, wenn Sie einen Grund haben. Entweder hängen einige Abhängigkeiten davon ab, oder Sie wollen einfach nur aufhören, ein älteres Betriebssystem zu unterstützen. –

+0

Ich vermute, dass diese Unterscheidung existiert, WinRT-Apps zu isolieren (alias UWP, alias Phone, alias Store, aka Modern UI). Das wird von Win7 nicht unterstützt. Wenn Sie WinRT nicht als Ziel verwenden, erhalten Sie durch die Verwendung von win7-x64 die maximale Anzahl von Betriebssystemversionen, die Sie unterstützen können. –

Antwort

3

Hier ist ein good document explains Runtime IDs, und wie sie miteinander in Beziehung stehen.

RIDs (Laufzeit-IDs) haben einen Fallback-Mechanismus, der in der runtime.json file in that folder ausgelegt ist.

Es gibt einige Fälle, in denen Sie eine bessere Asset mit einem höheren RID, zum Beispiel, wenn ein NuGet Paket hatte win7 Vermögenswerte und win10 Vermögenswerte, in denen die win10 Vermögenswerte beleuchtet Funktionalität, die in win10 kommt zu bekommen. Diese Fälle treten nicht häufig auf und treten nicht wirklich in der Kern-.NET-Laufzeit auf, aber dies ist in Paketen von Drittanbietern möglich.

Mein Vorschlag wäre, die RID für die niedrigste Betriebssystemversion zu verwenden, die Sie anvisieren. Wenn Sie nicht beabsichtigen, in Ihrer App win7 zu unterstützen, verwenden Sie win8 oder höher.

Verwandte Themen