Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Proces tworzenia pakietów narzędzi platformy .NET został zmieniony, gdy RuntimeIdentifiers jest obecny w projekcie.
Ponieważ zestaw SDK obsługuje teraz tworzenie narzędzi specyficznych dla platformy, RuntimeIdentifiers służy do określania zestawu platform, dla których mają być tworzone pakiety narzędzi.
Wersja wprowadzona
.NET 10
Poprzednie zachowanie
Wcześniej po uruchomieniu dotnet pack projektu z ustawioną wartością PackAsTooltrue, zignorował dowolny RuntimeIdentifierselement .
Nowe zachowanie
Począwszy od platformy .NET 10, RuntimeIdentifiers służy do określania zestawu platform, dla których mają być tworzone pakiety narzędzi.
Typ zmiany przełamującej
Jest to zmiana behawioralna.
Przyczyna zmiany
Ta zmiana umożliwia tworzenie zoptymalizowanych pakietów narzędzi .NET specyficznych dla platformy i obsługuje przypadki użycia, takie jak:
- Narzędzia samodzielne.
- Narzędzia skompaktowane i AOT.
- Narzędzia, które mogą być ostatecznie używane na platformach bez zainstalowanego zestawu SDK lub środowiska uruchomieniowego.
Zalecana akcja
Jeśli chcesz utworzyć narzędzia tylko dla podzbioru platform, użyj polecenia ToolPackageRuntimeIdentifiers. Jeśli chcesz całkowicie wyłączyć pakiety narzędzi specyficznych dla identyfikatorów RID, należy warunkowo dołączyć lub wykluczyć RuntimeIdentifiers właściwość w pliku projektu.
Alternatywnie, jeśli chcesz zachować poprzednie zachowanie (narzędzia .NET zależne od frameworka, niezależne od platformy), nawet jeśli RuntimeIdentifier jest określony, dodaj następujące właściwości do pliku projektu:
<PropertyGroup>
<CreateRidSpecificToolPackages>false</CreateRidSpecificToolPackages>
<UseAppHost>false</UseAppHost>
</PropertyGroup>
Interfejsy API, których dotyczy problem
Żaden.