.NET araçlarını yönetme
Bu makale şunlar için geçerlidir: ✔️ .NET Core 2.1 SDK ve sonraki sürümler.
.NET aracı, konsol uygulaması içeren özel bir NuGet paketidir. Makinenize aşağıdaki yollarla bir araç yükleyebilirsiniz:
Genel bir araç olarak.
Araç ikili dosyaları, PATH ortam değişkenine eklenen varsayılan dizine yüklenir. Aracı, konumunu belirtmeden makinedeki herhangi bir dizinden çağırabilirsiniz. Bir aracın bir sürümü makinedeki tüm dizinler için kullanılır.
Özel bir konumda (araç yolu aracı olarak da bilinir) genel bir araç olarak.
Araç ikili dosyaları, belirttiğiniz bir konuma yüklenir. Aracı yükleme dizininden, dizine komut adını vererek veya dizini PATH ortam değişkenine ekleyerek çağırabilirsiniz. Bir aracın bir sürümü makinedeki tüm dizinler için kullanılır.
Yerel bir araç olarak (.NET Core SDK 3.0 ve sonraki sürümler için geçerlidir).
Araç ikili dosyaları varsayılan dizine yüklenir. Aracı yükleme dizininden veya alt dizinlerinden herhangi birinden çağırabilirsiniz. Farklı dizinler aynı aracın farklı sürümlerini kullanabilir.
.NET CLI, bir dizine yerel olarak yüklenen araçları izlemek için bildirim dosyalarını kullanır. Bildirim dosyası bir kaynak kod deposunun kök dizinine kaydedildiğinde, katkıda bulunan depoyu kopyalayabilir ve bildirim dosyalarında listelenen tüm araçları yüklemek için tek bir .NET CLI komutu çağırabilir.
Önemli
.NET araçları tam güven içinde çalışır. Yazara güvenmiyorsanız bir .NET aracı yüklemeyin.
.NET Snap aracılığıyla yüklendiyse .NET araçları düzgün çalışmayabilir.
Araç bulma
Araçları bulmanın bazı yolları şunlardır:
- NuGet.org yayımlanan bir aracı bulmak için dotnet tool search komutunu kullanın.
- NuGet web sitesini aramak için ".NET aracı" paket türü filtresini kullanın. Daha fazla bilgi için bkz . Paketleri bulma ve seçme.
- dotnet/aspnetcore GitHub deposunun Araçlar dizininde ASP.NET Core ekibinin oluşturduğu araçların kaynak koduna bakın.
- .NET tanılama araçları'nda tanılama araçları hakkında bilgi edinin.
Yazarı ve istatistikleri denetleme
.NET araçları tam güven içinde çalıştığından ve genel araçlar PATH ortam değişkenine eklendiğinden güçlü olabilir. Güvenmediğiniz kişilerden araç indirmeyin.
Araç NuGet'te barındırılıyorsa, aracı arayarak yazarı ve istatistikleri de kontrol edebilirsiniz.
Genel araç yükleme
Bir aracı genel araç olarak yüklemek için aşağıdaki örnekte gösterildiği gibi dotnet tool install seçeneğini --global
kullanın-g
:
dotnet tool install -g dotnetsay
Çıktı, aşağıdaki örneğe benzer şekilde aracı ve yüklü sürümü çağırmak için kullanılan komutu gösterir:
You can invoke the tool using the following command: dotnetsay
Tool 'dotnetsay' (version '2.1.4') was successfully installed.
Not
Varsayılan olarak yüklenecek .NET ikili dosyalarının mimarisi şu anda çalışan işletim sistemi mimarisini temsil eder. Farklı bir işletim sistemi mimarisi belirtmek için bkz . dotnet tool install, --arch option.
Aracın ikili dosyalarının varsayılan konumu işletim sistemine bağlıdır:
OS | Yol |
---|---|
Linux/macOS | $HOME/.dotnet/tools |
Windows | %USERPROFILE%\.dotnet\tools |
Bu konum, SDK ilk kez çalıştırıldığında kullanıcının yoluna eklenir. Bu nedenle genel araçlar, araç konumu belirtilmeden herhangi bir dizinden çağrılabilir.
Araç erişimi makine geneli değil kullanıcıya özgüdür. Genel bir araç yalnızca aracı yükleyen kullanıcı tarafından kullanılabilir.
Özel bir konuma genel araç yükleme
Bir aracı özel bir konuma genel araç olarak yüklemek için aşağıdaki örneklerde gösterildiği gibi dotnet tool install seçeneğini kullanın--tool-path
:
Windows'da:
dotnet tool install dotnetsay --tool-path c:\dotnet-tools
Linux veya macOS'ta:
dotnet tool install dotnetsay --tool-path ~/bin
.NET SDK'sı bu konumu PATH ortam değişkenine otomatik olarak eklemez. Araç yolu aracını çağırmak için aşağıdaki yöntemlerden birini kullanarak komutun kullanılabilir olduğundan emin olmanız gerekir:
- Yükleme dizinini PATH ortam değişkenine ekleyin.
- Çağırdığınızda aracın tam yolunu belirtin.
- Aracı yükleme dizininden çağırın.
Yerel araç yükleme
.NET Core 3.0 SDK ve üzeri için geçerlidir.
Yalnızca yerel erişim için bir araç yüklemek istiyorsanız (geçerli dizin ve alt dizinler için), aracı bir araç bildirim dosyasına eklemeniz gerekir. Araç bildirim dosyası oluşturmak için komutunu dotnet new tool-manifest
çalıştırın:
dotnet new tool-manifest
Bu komut ,config dizini altında dotnet-tools.json adlı bir bildirim dosyası oluşturur. Bildirim dosyasına yerel bir araç eklemek için dotnet tool install komutunu kullanın ve aşağıdaki örnekte gösterildiği gibi ve --tool-path
seçeneklerini atlayarak--global
:
dotnet tool install dotnetsay
Komut çıktısı, aşağıdaki örneğe benzer şekilde yeni yüklenen aracın hangi bildirim dosyasında bulunduğunu gösterir:
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.
Aşağıdaki örnekte iki yerel araç yüklü bir bildirim dosyası gösterilmektedir:
{
"version": 1,
"isRoot": true,
"tools": {
"botsay": {
"version": "1.0.0",
"commands": [
"botsay"
]
},
"dotnetsay": {
"version": "2.1.3",
"commands": [
"dotnetsay"
]
}
}
}
Genellikle deponun kök dizinine yerel bir araç eklersiniz. Bildirim dosyasını depoya iade ettikten sonra, depodan kodu kullanıma alan geliştiriciler en son bildirim dosyasını alır. Bildirim dosyasında listelenen tüm araçları yüklemek için şu komutu çalıştırır dotnet tool restore
:
dotnet tool restore
Çıkış, geri yüklenen araçları gösterir:
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.
Belirli bir araç sürümünü yükleme
Bir yayın öncesi sürümü veya aracın belirli bir sürümünü yüklemek için, aşağıdaki örnekte gösterildiği gibi seçeneğini kullanarak --version
sürüm numarasını belirtin:
dotnet tool install dotnetsay --version 2.1.3
Tam sürüm numarasını belirtmeden aracın yayın öncesi sürümünü yüklemek için seçeneğini kullanın --version
ve aşağıdaki örnekte gösterildiği gibi bir joker karakter girin:
dotnet tool install --global dotnetsay --version "*-rc*"
Araç kullanma
Bir aracı çağırmak için kullandığınız komut, yüklediğiniz paketin adından farklı olabilir. Geçerli kullanıcının makinede yüklü olan tüm araçlarını görüntülemek için dotnet tool list komutunu kullanın:
dotnet tool list
Çıktı, aşağıdaki örneğe benzer şekilde her aracın sürümünü ve komutunu gösterir:
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
Yukarıdaki örnekte gösterildiği gibi, listede yerel araçlar gösterilir. Genel araçları görmek için seçeneğini kullanın --global
. Araç yolu araçlarını görmek için seçeneğini kullanın --tool-path
.
Belirli bir aracı listelemek için dotnet tool list <PACKAGE_ID> komutunu kullanın:
dotnet tool list dotnetsay
Çıkış, yalnızca aşağıdaki örneğe benzer şekilde yüklüyse bu aracı listeler:
Package Id Version Commands Manifest
-------------------------------------------------------------------------------------------
dotnetsay 2.1.3 dotnetsay /home/name/repository/.config/dotnet-tools.json
Genel bir araç çağırma
Genel araçlar için araç komutunu tek başına kullanın. Örneğin, komut veya dotnet-doc
isedotnetsay
, genel aracı çağırmak için bunu kullanırsınız:
dotnetsay
dotnet-doc
Komut ön ekiyle dotnet-
başlıyorsa, aracı çağırmanın alternatif bir yolu, komutu kullanmak dotnet
ve araç komut ön ekini atlamaktır. Örneğin, komutu ise dotnet-doc
aşağıdaki komut aracı çağırır:
dotnet doc
Ancak, aşağıdaki senaryoda genel bir aracı çağırmak için komutunu kullanamazsınız dotnet
:
- Genel bir araç ve yerel bir araç, ile
dotnet-
ön ekli aynı komuta sahiptir. - Genel aracı yerel aracın kapsamındaki bir dizinden çağırmak istiyorsunuz.
Bu senaryoda yerel dotnet doc
dotnet dotnet-doc
aracı çağırın. Genel aracı çağırmak için komutunu tek başına kullanın:
dotnet-doc
Araç yolu aracı çağırma
seçeneği kullanılarak tool-path
yüklenen genel bir aracı çağırmak için, komutun bu makalenin önceki bölümlerinde açıklandığı gibi kullanılabilir olduğundan emin olun.
Yerel araç çağırma
Yerel bir aracı çağırmak için yükleme dizininden komutunu kullanmanız dotnet
gerekir. Aşağıdaki örneklerde gösterildiği gibi uzun formu (dotnet tool run <COMMAND_NAME>
) veya kısa formu (dotnet <COMMAND_NAME>
) kullanabilirsiniz:
dotnet tool run dotnetsay
dotnet dotnetsay
Komutun ön eki dotnet-
varsa, aracı çağırırken ön eki ekleyebilir veya atlayabilirsiniz. Örneğin, komutu ise dotnet-doc
, aşağıdaki örneklerden herhangi biri yerel aracı çağırır:
dotnet tool run dotnet-doc
dotnet dotnet-doc
dotnet doc
Aracı güncelleştirme
Bir aracın güncelleştirilmesi, aracın en son kararlı sürümle kaldırılmasını ve yeniden yüklenmesini içerir. Aracı güncelleştirmek için dotnet tool update komutunu, aracı yüklemek için kullandığınız seçenekle kullanın:
dotnet tool update --global <packagename>
dotnet tool update --tool-path <packagename>
dotnet tool update <packagename>
Yerel bir araç için SDK, paket kimliğini içeren ilk bildirim dosyasını bulmak için geçerli dizine ve üst dizinlere bakar. Herhangi bir bildirim dosyasında böyle bir paket kimliği yoksa SDK, en yakın bildirim dosyasına yeni bir giriş ekler.
Aracı kaldırma
Aracı yüklemek için kullandığınız seçenekle dotnet tool uninstall komutunu kullanarak bir aracı kaldırın:
dotnet tool uninstall --global <packagename>
dotnet tool uninstall --tool-path <packagename>
dotnet tool uninstall <packagename>
Yerel bir araç için SDK, paket kimliğini içeren ilk bildirim dosyasını bulmak için geçerli dizine ve üst dizinlere bakar.
Yardım alma ve sorun giderme
Bir araç yüklenemezse veya çalıştırılamazsa bkz . .NET aracı kullanım sorunlarını giderme. Parametresini kullanarak kullanılabilir dotnet tool
komutların ve parametrelerin --help
listesini alabilirsiniz:
dotnet tool --help
Araç kullanım yönergelerini almak için aşağıdaki komutlardan birini girin veya aracın web sitesine bakın:
<command> --help
dotnet <command> --help