Jak zarządzać narzędziami .NET

Ten artykuł dotyczy: ✔️ .NET Core 2.1 SDK i nowszych wersji

Narzędzie .NET to specjalny pakiet NuGet zawierający aplikację konsolowa. Narzędzie można zainstalować na komputerze w następujący sposób:

  • Jako narzędzie globalne.

    Pliki binarne narzędzia są instalowane w katalogu domyślnym, który jest dodawany do zmiennej środowiskowej PATH. Narzędzie można wywołać z dowolnego katalogu na maszynie bez określania jego lokalizacji. Jedna wersja narzędzia jest używana dla wszystkich katalogów na maszynie.

  • Jako narzędzie globalne w lokalizacji niestandardowej (znanej także jako narzędzie ścieżki narzędzia).

    Pliki binarne narzędzia są instalowane w określisz lokalizację. Narzędzie można wywołać z katalogu instalacyjnego, podając w katalogu nazwę polecenia lub dodając katalog do zmiennej środowiskowej PATH. Jedna wersja narzędzia jest używana dla wszystkich katalogów na maszynie.

  • Jako narzędzie lokalne (dotyczy zestaw .NET Core SDK 3.0 i nowszych).

    Pliki binarne narzędzia są instalowane w katalogu domyślnym. Narzędzie jest wywoływane z katalogu instalacyjnego lub dowolnego z jego podkatalogów. Różne katalogi mogą używać różnych wersji tego samego narzędzia.

    Interfejs wiersza polecenia .NET używa plików manifestu do śledzenia, które narzędzia są instalowane jako lokalne w katalogu. Po zapisaniu pliku manifestu w katalogu głównym repozytorium kodu źródłowego współautor może sklonować repozytorium i wywołać pojedyncze polecenie interfejsu wiersza polecenia platformy .NET, które instaluje wszystkie narzędzia wymienione w plikach manifestu.

Ważne

Narzędzia .NET działają w trybie pełnego zaufania. Nie instaluj narzędzia .NET, chyba że ufasz autorowi.

Znajdowanie narzędzia

Oto kilka sposobów na znalezienie narzędzi:

Sprawdzanie autora i statystyk

Ponieważ narzędzia .NET działają w trybie pełnego zaufania, a narzędzia globalne są dodawane do zmiennej środowiskowej PATH, mogą być bardzo zaawansowane. Nie pobieraj narzędzi od osób, których nie ufasz.

Jeśli narzędzie jest hostowane na NuGet, możesz sprawdzić autora i statystyki, wyszukując to narzędzie.

Instalowanie narzędzia globalnego

Aby zainstalować narzędzie jako narzędzie globalne, -g użyj opcji lub --global-g, jak pokazano w poniższym przykładzie:

dotnet tool install -g dotnetsay

Dane wyjściowe pokazują polecenie użyte do wywołania narzędzia i zainstalowanej wersji, podobnie jak w poniższym przykładzie:

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

Domyślna lokalizacja plików binarnych narzędzia zależy od systemu operacyjnego:

System operacyjny Ścieżka
Linux/macOS $HOME/.dotnet/tools
Windows %USERPROFILE%\.dotnet\tools

Ta lokalizacja jest dodawana do ścieżki użytkownika podczas pierwszego uruchomienia zestawu SDK, dzięki czemu narzędzia globalne mogą być wywoływane z dowolnego katalogu bez określania lokalizacji narzędzia.

Dostęp do narzędzi jest specyficzny dla użytkownika, a nie globalny dla komputera. Narzędzie globalne jest dostępne tylko dla użytkownika, który zainstalował to narzędzie.

Instalowanie narzędzia globalnego w lokalizacji niestandardowej

Aby zainstalować narzędzie jako narzędzie globalne w lokalizacji niestandardowej, --tool-path użyj opcji --tool-path, jak pokazano w poniższych przykładach.

W systemie Windows:

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

W systemie Linux lub macOS:

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

Zestaw SDK platformy .NET nie dodaje tej lokalizacji automatycznie do zmiennej środowiskowej PATH. Aby wywołać narzędzie ścieżki narzędzia, należy upewnić się, że polecenie jest dostępne przy użyciu jednej z następujących metod:

  • Dodaj katalog instalacyjny do zmiennej środowiskowej PATH.
  • Określ pełną ścieżkę do narzędzia podczas jego wywoływania.
  • Wywołaj narzędzie z poziomu katalogu instalacyjnego.

Instalowanie narzędzia lokalnego

Dotyczy zestawu .NET Core 3.0 SDK i nowszych.

Aby zainstalować narzędzie tylko do dostępu lokalnego (dla bieżącego katalogu i podkatalogów), należy je dodać do pliku manifestu narzędzia. Aby utworzyć plik manifestu narzędzia, uruchom dotnet new tool-manifest polecenie:

dotnet new tool-manifest

To polecenie tworzy plik manifestu o nazwie dotnet-tools.json w .config katalogu. Aby dodać narzędzie lokalne do pliku manifestu, użyj polecenia dotnet tool install i pomiń opcje i , jak pokazano w poniższym przykładzie:

dotnet tool install dotnetsay

Dane wyjściowe polecenia pokazują, w którym pliku manifestu znajduje się nowo zainstalowane narzędzie, podobnie jak w poniższym przykładzie:

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.

W poniższym przykładzie pokazano plik manifestu z zainstalowanymi dwoma lokalnymi narzędziami:

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

Zazwyczaj do katalogu głównego repozytorium dodaje się narzędzie lokalne. Po zaewidencjeniu pliku manifestu w repozytorium deweloperzy, którzy wyewidencją kod z repozytorium, uzyskają najnowszy plik manifestu. Aby zainstalować wszystkie narzędzia wymienione w pliku manifestu, uruchamiają polecenie dotnet tool restore :

dotnet tool restore

Dane wyjściowe wskazują, które narzędzia zostały przywrócone:

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.

Instalowanie określonej wersji narzędzia

Aby zainstalować wersję wstępną lub określoną wersję narzędzia, --version określ numer wersji przy użyciu opcji , jak pokazano w poniższym przykładzie:

dotnet tool install dotnetsay --version 2.1.3

Aby zainstalować wersję wstępną narzędzia bez określania dokładnego numeru wersji, --version użyj opcji i podaj symbol wieloznaczny, jak pokazano w poniższym przykładzie:

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

Korzystanie z narzędzia

Polecenie służące do wywoływania narzędzia może różnić się od nazwy pakietu, który instalujesz. Aby wyświetlić wszystkie narzędzia aktualnie zainstalowane na maszynie dla bieżącego użytkownika, użyj polecenia dotnet tool list :

dotnet tool list

Dane wyjściowe pokazują wersję i polecenie każdego narzędzia, podobnie jak w poniższym przykładzie:

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

Jak pokazano w tym przykładzie, lista zawiera narzędzia lokalne. Aby wyświetlić narzędzia globalne, użyj --global opcji , a aby wyświetlić narzędzia ścieżki narzędzi, użyj --tool-path opcji .

Wywoływanie narzędzia globalnego

W przypadku narzędzi globalnych użyj polecenia narzędzia samodzielnie. Jeśli na przykład polecenie to dotnetsay lub dotnet-doc, użyj polecenia , aby go wywołać:

dotnetsay
dotnet-doc

Jeśli polecenie rozpoczyna się od prefiksu dotnet-, alternatywnym dotnet sposobem wywołania narzędzia jest użycie polecenia i pominięcie prefiksu polecenia narzędzia. Jeśli na przykład polecenie to dotnet-doc, następujące polecenie wywołuje narzędzie:

dotnet doc

Jednak w poniższym scenariuszu nie można użyć polecenia dotnet do wywołania narzędzia globalnego:

  • Narzędzie globalne i narzędzie lokalne mają to samo polecenie poprzedzone prefiksem dotnet-.
  • Chcesz wywołać narzędzie globalne z katalogu, który znajduje się w zakresie narzędzia lokalnego.

W tym scenariuszu wywołaj dotnet docdotnet dotnet-doc narzędzie lokalne. Aby wywołać narzędzie globalne, użyj polecenia samodzielnie:

dotnet-doc

Wywoływanie narzędzia ścieżki narzędzia

Aby wywołać narzędzie globalne zainstalowane tool-path przy użyciu opcji , upewnij się, że polecenie jest dostępne, jak wyjaśniono tool-path.

Wywoływanie narzędzia lokalnego

Aby wywołać narzędzie lokalne, należy użyć dotnet polecenia z katalogu instalacyjnego. Możesz użyć formularza długiego (dotnet tool run <COMMAND_NAME>) lub krótkiego (dotnet <COMMAND_NAME>), jak pokazano w poniższych przykładach:

dotnet tool run dotnetsay
dotnet dotnetsay

Jeśli polecenie ma prefiks dotnet-, możesz dołączyć lub pominąć prefiks podczas wywoływania narzędzia. Jeśli na przykład polecenie to dotnet-doc, dowolny z następujących przykładów wywołuje narzędzie lokalne:

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

Aktualizowanie narzędzia

Aktualizowanie narzędzia obejmuje odinstalowanie i ponowne zainstalowanie go przy użyciu najnowszej stabilnej wersji. Aby zaktualizować narzędzie, użyj polecenia dotnet tool update z taką samą opcją, jaka została użyta do zainstalowania narzędzia:

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

W przypadku narzędzia lokalnego zestaw SDK znajduje pierwszy plik manifestu, który zawiera identyfikator pakietu, wyszukując bieżący katalog i katalogi nadrzędne. Jeśli w żadnym pliku manifestu nie ma takiego identyfikatora pakietu, zestaw SDK dodaje nowy wpis do najbliższego pliku manifestu.

Odinstalowywanie narzędzia

Usuń narzędzie za pomocą polecenia dotnet tool uninstall z taką samą opcją, jaka jest używana do zainstalowania narzędzia:

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

W przypadku narzędzia lokalnego zestaw SDK znajduje pierwszy plik manifestu, który zawiera identyfikator pakietu, wyszukując bieżący katalog i katalogi nadrzędne.

Uzyskiwanie pomocy i rozwiązywania problemów

Jeśli instalacja lub uruchomienie narzędzia nie powiedzie się, zobacz Rozwiązywanie problemów z użyciem narzędzi .NET. Listę dostępnych poleceń i parametrów można dotnet tool uzyskać przy użyciu parametru --help :

dotnet tool --help

Aby uzyskać instrukcje dotyczące użycia narzędzi, wprowadź jedno z następujących poleceń lub zobacz witrynę internetową narzędzia:

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

Zobacz też