Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
De dnx en dnx.cmd scripts gebruiken de .NET muxer niet meer om de SDK-versie te selecteren. In plaats daarvan vinden ze de nieuwste geïnstalleerde SDK en roepen ze deze rechtstreeks aan, waardoor elk global.json bestand in de werkmap wordt overgeslagen.
Geïntroduceerde versie
.NET 10 SDK 10.0.302, 10.0.400 en .NET 11 Preview 6
Vorig gedrag
Voorheen riepen de scripts dnxdotnet dnx aan, dat afhankelijk was van de .NET-muxer om de SDK-versie te selecteren op basis van een global.json-bestand in de werkmap. Als global.json een SDK-versie van vóór .NET 10 had vastgezet, mislukten de scripts met de volgende fout:
Unrecognized command or argument 'execute'
Vanaf .NET 10 SDK 10.0.302 (en hoger) en .NET 11 Preview 6 worden de dnx en dnx.cmd scripts gebruikt dotnet --list-sdks om de nieuwste geïnstalleerde SDK te identificeren. Vervolgens roepen ze dotnet exec <sdk-path>/dotnet.dll dnx rechtstreeks aan, waarbij de .NET muxer en eventuele global.json SDK-pinning worden omzeild.
Type van brekende verandering
Deze wijziging is een gedragswijziging.
Reden voor wijziging
Sommige .NET CLI-opdrachten, waaronderdnx, worden beschouwd als versie-onafhankelijke functies die altijd moeten worden uitgevoerd met de nieuwste geïnstalleerde SDK. Vertrouwen op global.json betekende dat gebruikers die een oudere SDK-versie hadden vastgezet om het risico van build-verstorende wijzigingen te beperken, ook onbedoeld dnx kapotmaakten. In mappen waarin een vooraf .NET 10 SDK is vastgemaakt, was de dnx opdracht niet beschikbaar, wat verwarrende fouten veroorzaakte en in sommige gevallen time-outs in hulpprogramma's zoals Copilot CLI.
Aanbevolen actie
Als u het vorige gedrag wilt herstellen, waarbij de .NET-muxer en global.json de SDK-selectie bepalen, voert u dotnet dnx expliciet uit in plaats van het script dnx.
Betreffende API's
None.