Problemen met dotnetup oplossen

Note

dotnetup is beschikbaar als openbare preview. De functies en het gedrag ervan kunnen veranderen vóór algemene beschikbaarheid.

In dit artikel worden veelvoorkomende dotnetup problemen beschreven en hoe u deze kunt oplossen.

Diagnostische gegevens verzamelen

Voordat u een probleem onderzoekt of oplost, moet u deze informatie verzamelen:

  • Geef de dotnetup versie, architectuur, runtime-id en de geverifieerde installaties weer:

    dotnetup --info
    
  • De bijgehouden installatiespecificaties en -installaties weergeven en de bestanden op schijf controleren:

    dotnetup list
    
  • Vergelijk de opgeslagen omgevingsconfiguratie met de huidige omgeving:

    dotnetup env show
    
  • Voer de mislukte opdracht opnieuw uit met gedetailleerde uitvoer. Voorbeeld:

    dotnetup sdk install 10.0 --verbosity detailed
    

Projecten worden niet gebouwd of apps worden niet gestart na de installatie

Symptoom: Nadat u everywhere in de modus dotnetup op Windows hebt ingesteld, kunnen projecten die voorheen wel werden gebouwd, nu niet meer worden gebouwd. Of frameworkafhankelijke apps geven deze fout weer:

You must install or update .NET to run this application.

Oorzaak: In de modus everywhere heeft de door dotnetup beheerde installatie voorrang op de computerbrede installatie in Program Files. SDK's en runtimes die alleen aanwezig zijn in de computerbrede installatie, zijn niet beschikbaar.

Oplossing: Migreer de SDK's en runtimes voor de hele machine naar de door dotnetup beheerde installatie:

dotnetup sdk install --migrate-from-system
dotnetup runtime install --migrate-from-system

Of wijzig naar de toegangsmodus shell of none. Zie Overwegingen voor de modus Everywhere voor meer informatie.

dotnet maakt geen gebruik van de door dotnetup beheerde installatie

Symptoom: De dotnet opdracht in uw terminal gebruikt niet de SDK's die dotnetup heeft geïnstalleerd.

Oorzaak: De terminal was geopend voordat dotnetup de omgeving wijzigde, of de omgevingsconfiguratie komt niet overeen met de opgeslagen configuratie.

Solution:

  1. Open een nieuwe terminal. Wijzigingen in het shellprofiel of Windows omgevingsvariabelen hebben geen invloed op terminals die al zijn geopend.

  2. Voer dotnetup env showuit. Als er afwijkingen worden gerapporteerd, voer dotnetup env set uit om de opgeslagen configuratie opnieuw toe te passen.

  3. Als u alleen de huidige terminal wilt configureren, voert u de uitvoer van dotnetup env script uit. Bijvoorbeeld in Bash of zsh:

    eval "$(dotnetup env script)"
    

    In PowerShell:

    dotnetup env script --shell pwsh | Invoke-Expression
    

Zie De dotnetup-omgeving beheren voor meer informatie.

Installatiepad bevat al een niet-gevolgde installatie

Symptoom: Een installatieopdracht mislukt met deze fout:

The install path '<path>' already contains a .NET installation that is not tracked by dotnetup. To avoid conflicts, use a different install path, remove the existing installation first, or use the --untracked option to install without tracking.

Oorzaak:dotnetup installeert geen bijgehouden bestanden in een map die een .NET-installatie bevat die niet wordt bijgehouden. Met deze controle voorkomt u dat de bestanden van dotnetup worden gemengd met bestanden die eigendom zijn van een ander hulpprogramma.

Oplossing: Ga op een van de volgende manieren te werk:

  • Selecteer een andere map met de --install-path optie.
  • Verwijder de bestaande installatie uit de map.
  • Als een ander hulpprogramma eigenaar is van de map, gebruikt u de --untracked optie. dotnetup geeft geen niet-bijgehouden bestanden weer, werkt deze niet bij en verwijdert deze niet.

Zie Aangepaste installatiewortels beheren voor meer informatie.

Het uitvoerbare dotnet wordt gebruikt

Symptoom: In Windows toont een installatieopdracht een waarschuwing die vergelijkbaar is met dit bericht:

Warning: Could not update dotnet executable at '<path>' - it is currently in use by another process. Close all running .NET applications and try again. The existing muxer will be retained. ...

Oorzaak: Een actief proces maakt gebruik van het dotnet uitvoerbare bestand, zodat dotnetup het niet kan vervangen. De installatie gaat verder met het bestaande dotnet uitvoerbare bestand. Voor een nieuwe runtime is mogelijk een nieuw uitvoerbaar dotnet bestand vereist.

Oplossing: Sluit alle actieve .NET-apps, IDE's en bouwservers. Voer vervolgens de installatieopdracht opnieuw uit. Als u de opdracht wilt laten mislukken in plaats van door te gaan met een waarschuwing, gebruikt u de --require-muxer-update optie.

Een ander dotnetup-proces wordt uitgevoerd

Symptoom: Een opdracht toont dit bericht en wacht:

Another dotnetup process is running. Waiting for it to finish...

Oorzaak:dotnetup msiserver serialiseert wijzigingen in de status van de gedeelde installatie. Een andere dotnetup opdracht wijzigt dezelfde status.

Oplossing: Wacht tot de andere opdracht is voltooid. Als er geen ander dotnetup proces wordt uitgevoerd, zoek dan naar dotnetup processen die niet meer reageren en beëindig deze.

Het manifest is corrupt

Symptoom: Een opdracht mislukt met deze fout:

The dotnetup manifest at <path> is corrupt. Consider deleting it and re-running the install.

Het bericht kan ook zeggen dat het bestand is gewijzigd buiten dotnetup.

Oorzaak: Het dotnetup_manifest.json bestand is niet geldig. Een ander proces of een handmatige bewerking heeft het bestand mogelijk gewijzigd.

Oplossing: Verwijder het manifestbestand en het .sha256-bestand uit de map met dotnetup-gegevens. Installeer vervolgens de SDK's en runtimes die u nodig hebt. Omdat het manifest de bestaande installatiehoofdmap niet meer bijhoudt, moet u die map mogelijk ook eerst verwijderen. Zie Dotnetup bijwerken of verwijderen voor de locatie van de gegevensmap.

Note

Bewerk het manifestbestand niet. Gebruik dotnetup commando's om de trackingstatus te wijzigen.

Het configuratiebestand is beschadigd

Symptoom: Een opdracht geeft deze waarschuwing weer:

Warning: The dotnetup config file at <path> appears to be corrupted and could not be read: ...

Oorzaak: Het dotnetup.config.json bestand is niet geldig. dotnetup negeert het bestand.

Oplossing: Voer dotnetup env set uit met de gewenste toegangsmodus of voer dotnetup init opnieuw uit. Met deze commando's schrijven een nieuwe configuratie.

Een shellprofiel bevat een ongeldig dotnetup-blok

Symptoom: Een env opdracht mislukt met een fout die lijkt op dit bericht:

The shell profile '<path>' contains a malformed dotnetup block: '<begin marker>' does not have a matching '<end marker>'. Remove or repair the block manually and try again.

Oorzaak:dotnetup markeert de regels die het toevoegt aan een shellprofiel met begin- en eindopmerkingen. Een van deze opmerkingen ontbreekt.

Oplossing: Open het shell-profiel in een teksteditor. Verwijder het onvolledige dotnetupblok of voeg de ontbrekende markering toe. Voer vervolgens de opdracht opnieuw uit.

Verhoging van bevoegdheden is geannuleerd

Symptoom: In Windows toont een opdracht waarmee everywhere de modus wordt in- of uitgeschakeld deze melding:

Elevation was cancelled. The system PATH was not modified.

Oorzaak: Voor wijzigingen in het systeem PATH zijn verhoogde rechten vereist. De gebruikersaccountbeheerprompt (UAC) is geannuleerd.

Oplossing: Voer de opdracht opnieuw uit en keur de UAC-prompt goed. Of selecteer de shell of none toegangsmodus, waarvoor geen verhoogde bevoegdheden zijn vereist.

Er is een releasemanifest verlopen

Symptoom: Een installatie of update mislukt tijdens de verificatie van het releasemanifest met de ExpiredNow foutcode.

Oorzaak: De huidige systeemtijd bevindt zich op of na de verlooptijd van het manifest. Het manifest is mogelijk verlopen of de systeemklok is mogelijk onjuist. Een geldige handtekening maakt een verlopen manifest niet acceptabel.

Solution:

  1. Controleer de datum en tijd van uw systeem. Corrigeer de klok indien nodig.
  2. Voer de opdracht opnieuw uit. Als een proxy gecachete releasemetadata aanbiedt, vraagt u de beheerder om te controleren of deze een verlopen manifest aanbiedt.
  3. Als de klok juist is en de fout zich blijft voordoen, meldt u het probleem met de gedetailleerde uitvoer van de opdracht.

Bewerk het manifest niet en wijzig de systeemklok niet om verloopcontroles te omzeilen. Zie de vervaldatum van het manifest voor meer informatie.

Een installatie wordt geblokkeerd door een IT-beleid

Symptoom: Een installatie van een dagelijkse of voorlopige build mislukt met een bericht met de mededeling dat voor een IT-beleid codeondertekende downloads zijn vereist.

Oorzaak: Een beheerder heeft niet-ondertekende downloads op de computer geblokkeerd.

Oplossing: Installeer een uitgebrachte versie of vraag de beheerder om de beleidsinstelling te verwijderen. Zie Hoe dotnetup downloads verifieert voor meer informatie.

Een probleem melden

Als dit artikel uw probleem niet oplost, zoekt u in de bestaande dotnetup-issues. Als u geen overeenkomst vindt, opent u een nieuwe issue in de dotnet/sdk repository met de dotnetup issue-sjabloon. Neem de uitvoer van dotnetup --info en de uitvoer van de mislukte opdracht op met --verbosity detailed.

Gebruik dotnetup-discussies voor vragen en suggesties.

Zie ook