RuntimeIdentifier retourneert het platform waarvoor de runtime is gebouwd
RuntimeInformation.RuntimeIdentifier retourneert het platform waarvoor de runtime is gebouwd, in plaats van een waarde die tijdens runtime is berekend.
Vorig gedrag
De waarde is een runtime-id (RID) die wordt berekend via besturingssysteembestanden of API's. Dit betekende over het algemeen dat het een versiespecifieke en distributiespecifieke RID was. Wanneer u bijvoorbeeld een toepassing uitvoert in Windows 11, is de waarde of win10-x64
, op Ubuntu 20.04, dit kan zijn ubuntu.20.04-x64
.
Nieuw gedrag
Vanaf .NET 8 is de waarde de RID waarvoor de runtime is gebouwd. Dit betekent dat voor draagbare builds van de runtime (alle door Microsoft geleverde builds) de waarde niet-versiespecifiek en niet-distributiespecifiek is. De waarde in Windows 11 is win-x64
bijvoorbeeld , en op Ubuntu 20.04 is het linux-x64
. Voor niet-draagbare builds (source-build) stelt de build een build-RID in die een versie en distributie kan hebben en die waarde is de RID die wordt geretourneerd.
Versie geïntroduceerd
.NET 8 RC 1
Type wijziging die fouten veroorzaken
Deze wijziging is een gedragswijziging.
Reden voor wijziging
Deze wijziging is in overeenstemming met een .NET 8-wijziging in RID-specifieke assetresolutie en de verplaatsing van een distributiebewuste runtime. RuntimeInformation.RuntimeIdentifier is een ondoorzichtige waarde die het platform vertegenwoordigt waarop de host of runtime zichzelf als actief beschouwt. In .NET 8 komt dat overeen met het platform waarvoor de host of runtime is gebouwd, in plaats van een RID die tijdens runtime wordt berekend.
Aanbevolen actie
RuntimeInformation.RuntimeIdentifier is een ondoorzichtige waarde en is niet bedoeld om te worden geparseerd in de onderdelen ervan. Gebruik voor de versie van het besturingssysteem van de werkelijke machine waarop een toepassing wordt uitgevoerd Environment.OSVersion. Gebruik RuntimeInformation.OSDescriptionvoor een beschrijving . Voor een specifieke id (distributie) en de bijbehorende versie in Linux kunt u het os-release-bestand lezen.