Hantera .NET-verktyg

Den här artikeln gäller för: ✔️ .NET Core 2.1 SDK och senare versioner.

Ett .NET-verktyg är ett särskilt NuGet-paket som innehåller ett konsolprogram. Du kan installera ett verktyg på datorn på följande sätt:

  • Som ett globalt verktyg.

    Verktygets binärfiler installeras i en standardkatalog som läggs till i PATH-miljövariabeln. Du kan anropa verktyget från valfri katalog på datorn utan att ange dess plats. En version av ett verktyg används för alla kataloger på datorn.

  • Som ett globalt verktyg på en anpassad plats (även kallat verktygssökväg).

    Verktygsbinärfilerna installeras på en plats som du anger. Du kan anropa verktyget från installationskatalogen genom att ange katalogen med kommandonamnet eller genom att lägga till katalogen i PATH-miljövariabeln. En version av ett verktyg används för alla kataloger på datorn.

  • Som ett lokalt verktyg (gäller för .NET Core SDK 3.0 och senare versioner).

    Verktygets binärfiler installeras i en standardkatalog. Du kan anropa verktyget från installationskatalogen eller någon av dess underkataloger. Olika kataloger kan använda olika versioner av samma verktyg.

    .NET CLI använder manifestfiler för att hålla reda på verktyg som är installerade som lokala i en katalog. När manifestfilen sparas i rotkatalogen för en källkodslagringsplats kan en deltagare klona lagringsplatsen och anropa ett enda .NET CLI-kommando för att installera alla verktyg som anges i manifestfilerna.

Viktigt!

.NET-verktyg körs i fullständigt förtroende. Installera inte ett .NET-verktyg om du inte litar på författaren.

.NET-verktyg kanske inte fungerar korrekt om .NET installerades via Snap.

Hitta ett verktyg

Här är några sätt att hitta verktyg:

Kontrollera författaren och statistiken

.NET-verktyg kan vara kraftfulla eftersom de körs i fullständigt förtroende och globala verktyg läggs till i PATH-miljövariabeln. Ladda inte ned verktyg från personer som du inte litar på.

Om verktyget finns på NuGet kan du kontrollera författaren och statistiken genom att söka efter verktyget.

Installera ett globalt verktyg

Om du vill installera ett verktyg som ett globalt verktyg använder du -g alternativet eller --global för installation av dotnet-verktyget, som du ser i följande exempel:

dotnet tool install -g dotnetsay

Utdata visar kommandot som används för att anropa verktyget och den installerade versionen, ungefär som i följande exempel:

You can invoke the tool using the following command: dotnetsay
Tool 'dotnetsay' (version '2.1.4') was successfully installed.

Kommentar

Som standard representerar arkitekturen för de .NET-binärfiler som ska installeras den operativsystemarkitektur som körs. Information om hur du anger en annan OPERATIVSYSTEM-arkitektur finns i dotnet tool install, --arch option.

Standardplatsen för ett verktygs binärfiler är beroende av operativsystemet:

OS Sökväg
Linux/macOS $HOME/.dotnet/tools
Windows %USERPROFILE%\.dotnet\tools

Den här platsen läggs till i användarens sökväg när SDK:et först körs. Globala verktyg kan därför anropas från valfri katalog utan att ange verktygsplatsen.

Verktygsåtkomst är användarspecifik, inte datorbaserad. Ett globalt verktyg är endast tillgängligt för användaren som installerade verktyget.

Installera ett globalt verktyg på en anpassad plats

Om du vill installera ett verktyg som ett globalt verktyg på en anpassad plats använder du --tool-path alternativet för installation av dotnet-verktyget, som du ser i följande exempel:

I Windows:

dotnet tool install dotnetsay --tool-path c:\dotnet-tools

I Linux eller macOS:

dotnet tool install dotnetsay --tool-path ~/bin

.NET SDK lägger inte till den här platsen automatiskt i PATH-miljövariabeln. Om du vill anropa ett verktygssökvägsverktyg måste du se till att kommandot är tillgängligt med någon av följande metoder:

  • Lägg till installationskatalogen i PATH-miljövariabeln.
  • Ange den fullständiga sökvägen till verktyget när du anropar det.
  • Anropa verktyget från installationskatalogen.

Installera ett lokalt verktyg

Gäller för .NET Core 3.0 SDK och senare.

Om du bara vill installera ett verktyg för lokal åtkomst (för den aktuella katalogen och underkatalogerna) måste du lägga till verktyget i en verktygsmanifestfil. Kör kommandot för att skapa en verktygsmanifestfil dotnet new tool-manifest :

dotnet new tool-manifest

Det här kommandot skapar en manifestfil med namnet dotnet-tools.json under katalogen .config . Om du vill lägga till ett lokalt verktyg i manifestfilen använder du installationskommandot för dotnet-verktyget och utelämnar--global alternativen och --tool-path som visas i följande exempel:

dotnet tool install dotnetsay

Kommandoutdata visar i vilken manifestfil det nyligen installerade verktyget finns, ungefär som i följande exempel:

You can invoke the tool from this directory using the following command:
dotnet tool run dotnetsay
Tool 'dotnetsay' (version '2.1.4') was successfully installed.
Entry is added to the manifest file /home/name/botsay/.config/dotnet-tools.json.

I följande exempel visas en manifestfil med två lokala verktyg installerade:

{
  "version": 1,
  "isRoot": true,
  "tools": {
    "botsay": {
      "version": "1.0.0",
      "commands": [
        "botsay"
      ]
    },
    "dotnetsay": {
      "version": "2.1.3",
      "commands": [
        "dotnetsay"
      ]
    }
  }
}

Du lägger vanligtvis till ett lokalt verktyg i rotkatalogen på lagringsplatsen. När du checkar in manifestfilen till lagringsplatsen får utvecklare som checkar ut kod från lagringsplatsen den senaste manifestfilen. Om du vill installera alla verktyg som anges i manifestfilen kör dotnet tool restore de kommandot:

dotnet tool restore

Utdata anger de återställde verktygen:

Tool 'botsay' (version '1.0.0') was restored. Available commands: botsay
Tool 'dotnetsay' (version '2.1.3') was restored. Available commands: dotnetsay
Restore was successful.

Installera en specifik verktygsversion

Om du vill installera en förhandsversion eller en specifik version av ett verktyg anger du versionsnumret med hjälp --version av alternativet, som du ser i följande exempel:

dotnet tool install dotnetsay --version 2.1.3

Om du vill installera en förhandsversion av verktyget utan att ange det exakta versionsnumret använder du --version alternativet och anger ett jokertecken, som du ser i följande exempel:

dotnet tool install --global dotnetsay --version "*-rc*"

Använda ett verktyg

Kommandot som du använder för att anropa ett verktyg kan skilja sig från namnet på det paket som du installerar. Om du vill visa alla verktyg som för närvarande är installerade på datorn för den aktuella användaren använder du kommandot dotnet tool list :

dotnet tool list

Utdata visar varje verktygs version och kommando, ungefär som i följande exempel:

Package Id      Version      Commands       Manifest
-------------------------------------------------------------------------------------------
botsay          1.0.0        botsay         /home/name/repository/.config/dotnet-tools.json
dotnetsay       2.1.3        dotnetsay      /home/name/repository/.config/dotnet-tools.json

Som du ser i föregående exempel visar listan lokala verktyg. Om du vill se globala verktyg använder du alternativet --global . Använd alternativet om du vill se verktygssökvägsverktyg --tool-path .

Om du vill visa en lista över ett specifikt verktyg använder du dotnet-verktygslistan <PACKAGE_ID> kommando:

dotnet tool list dotnetsay

Utdata visar bara verktyget om det är installerat, ungefär som i följande exempel:

Package Id      Version      Commands       Manifest
-------------------------------------------------------------------------------------------
dotnetsay       2.1.3        dotnetsay      /home/name/repository/.config/dotnet-tools.json

Anropa ett globalt verktyg

Använd verktygskommandot på egen hand för globala verktyg. Om kommandot till exempel är dotnetsay eller dotnet-docanvänder du det för att anropa det globala verktyget:

dotnetsay
dotnet-doc

Om kommandot börjar med prefixet dotnet-är ett alternativt sätt att anropa verktyget att använda dotnet kommandot och utelämna verktygskommandoprefixet. Om kommandot till exempel är dotnet-docanropar följande kommando verktyget:

dotnet doc

I följande scenario kan du dock inte använda dotnet kommandot för att anropa ett globalt verktyg:

  • Ett globalt verktyg och ett lokalt verktyg har samma kommandoprefix som dotnet-.
  • Du vill anropa det globala verktyget från en katalog som finns i omfånget för det lokala verktyget.

I det här scenariot dotnet doc anropar du dotnet dotnet-doc det lokala verktyget. Om du vill anropa det globala verktyget använder du kommandot själv:

dotnet-doc

Anropa ett verktygssökvägsverktyg

Om du vill anropa ett globalt verktyg som installeras med hjälp tool-path av alternativet kontrollerar du att kommandot är tillgängligt enligt beskrivningen tidigare i den här artikeln.

Anropa ett lokalt verktyg

Om du vill anropa ett lokalt verktyg måste du använda dotnet kommandot från installationskatalogen. Du kan använda det långa formuläret (dotnet tool run <COMMAND_NAME>) eller det korta formuläret (dotnet <COMMAND_NAME>), enligt följande exempel:

dotnet tool run dotnetsay
dotnet dotnetsay

Om kommandot är prefixet av dotnet-kan du inkludera eller utelämna prefixet när du anropar verktyget. Om kommandot till exempel är dotnet-docanropar något av följande exempel det lokala verktyget:

dotnet tool run dotnet-doc
dotnet dotnet-doc
dotnet doc

Uppdatera ett verktyg

Uppdatering av ett verktyg innebär att avinstallera och installera om det med den senaste stabila versionen. Om du vill uppdatera ett verktyg använder du kommandot dotnet tool update med samma alternativ som du använde för att installera verktyget:

dotnet tool update --global <packagename>
dotnet tool update --tool-path <packagename>
dotnet tool update <packagename>

För ett lokalt verktyg letar SDK:n i den aktuella katalogen och de överordnade katalogerna efter den första manifestfilen som innehåller paket-ID:t. Om det inte finns något sådant paket-ID i någon manifestfil lägger SDK till en ny post i den närmaste manifestfilen.

Avinstallera ett verktyg

Avinstallera ett verktyg med hjälp av kommandot dotnet tool uninstall med samma alternativ som du använde för att installera verktyget:

dotnet tool uninstall --global <packagename>
dotnet tool uninstall --tool-path <packagename>
dotnet tool uninstall <packagename>

För ett lokalt verktyg letar SDK:n i den aktuella katalogen och de överordnade katalogerna efter den första manifestfilen som innehåller paket-ID:t.

Få hjälp och felsöka

Om ett verktyg inte kan installeras eller köras läser du Felsöka användningsproblem med .NET-verktyg. Du kan hämta en lista över tillgängliga dotnet tool kommandon och parametrar med hjälp av parametern --help :

dotnet tool --help

Om du vill hämta användningsinstruktioner för verktyg anger du något av följande kommandon eller läser verktygets webbplats:

<command> --help
dotnet <command> --help

Se även