Cara kerja dotnetup

Note

dotnetup tersedia dalam pratinjau publik. Fitur dan perilakunya mungkin berubah sebelum ketersediaan umum.

dotnetup memisahkan komponen yang Anda minta untuk diinstal dari file yang diinstalnya. Model ini memungkinkan beberapa komponen berbagi satu penginstalan .NET dan memungkinkan dotnetup menghapus file yang tidak lagi diperlukan.

Root penginstalan

Direktori akar penginstalan .NET adalah direktori yang dotnetup lacak. Root instalasi memiliki:

  • Jalur direktori yang memenuhi syarat lengkap.
  • Sebuah arsitektur: x86, x64, atau arm64.
  • Spesifikasi penginstalan nol atau lebih, ditetapkan sebagai channels.
  • Tidak ada atau lebih instalasi konkret.

Instalasi CLI saat ini ditujukan untuk arsitektur proses yang sedang berjalan dotnetup. Ini tidak memiliki opsi arsitektur.

Akar penginstalan .NET yang dikelola dotnetup default adalah subdirektori dotnet dari direktori data dotnetup:

Platform Root instalasi default
Windows %LOCALAPPDATA%\dotnetup\dotnet
macOS ~/Library/Application Support/dotnetup/dotnet
Linux $XDG_DATA_HOME/dotnetup/dotnet, atau ~/.local/share/dotnetup/dotnet ketika XDG_DATA_HOME tidak diatur

Gunakan --install-path untuk memilih akar penginstalan lain. Jalur penginstalan eksplisit lebih diutamakan daripada jalur dari global.json, yang lebih diutamakan daripada akar penginstalan default.

dotnetuptidak menulis ke direktori .NET yang dikelola sistem, seperti Program Files\dotnet atau /usr/share/dotnet.

Komponen

dotnetup mengelola jenis komponen ini:

Component Nama spesifikasi runtime Konten terinstal
.NET SDK Tidak teraplikasi SDK, host, runtime, paket penargetan, dan konten SDK terkait
.NET runtime runtime Microsoft.NETCore.App runtime
Runtime ASP.NET Core aspnetcore Microsoft.AspNetCore.App runtime
Windows Desktop runtime windowsdesktop Microsoft.WindowsDesktop.App runtime pada Windows

Alias aspnet ASP.NET Core dan alias desktop Windows Desktop diterima dalam spesifikasi komponen runtime.

Spesifikasi instalasi

spesifikasi instalasi mencatat komponen dan saluran atau versi yang tepat. Misalnya, spesifikasi SDK untuk 10.0.1xx berarti "tetap gunakan SDK terbaru di band fitur 10.0.1xx."

Anda dapat mempelajari selengkapnya tentang berbagai jenis saluran dan versi yang didukung di Saluran dan versi.

Setiap spesifikasi memiliki salah satu sumber berikut:

  • Explicit: Anda menyediakan saluran atau versi pada baris perintah.
  • GlobalJson: dotnetup menentukan persyaratan SDK dari file global.json.

All adalah filter uninstall. Ini tidak disimpan sebagai sumber spesifikasi.

Versi eksak adalah spesifikasi yang disematkan. Perintah pembaruan tidak membuatnya berlanjut. Spesifikasi saluran dapat mengarah ke versi yang lebih baru selama pembaruan.

Instalasi dan file yang dibagikan

Instalasi mencatat satu versi komponen konkret dan direktori subkomponen yang digunakannya. Dua spesifikasi dapat mengarah ke instalasi yang sama.

Perintah uninstall terlebih dahulu menghapus spesifikasi yang cocok. Garbage collection kemudian mempertahankan versi terbaru yang terpasang dan cocok dengan setiap spesifikasi yang tersisa. Ini menghapus instalasi dan subkomponen miliknya yang tidak dibagikan hanya ketika tidak ada spesifikasi yang tersisa yang membutuhkannya.

Penginstalan terlacak dan tidak terlacak

Secara default, perintah penginstalan mencatat spesifikasinya dan hasilnya di dalam manifes. Instalasi terlacak dapat dicantumkan, diperbarui, dan dihapus oleh dotnetup.

Opsi --untracked menginstal file tanpa mencatatnya. dotnetup tidak mencantumkan, memperbarui, atau menghapus file tersebut. Gunakan opsi ini hanya ketika proses lain memiliki direktori target.

Untuk mencegah pencampuran yang tidak disengaja, penginstalan terlacak gagal jika target berisi penginstalan .NET yang ada yang tidak ada dalam manifes yang dipilih. Pilih direktori yang berbeda, hapus penginstalan yang ada, atau gunakan --untracked.

Berkas status

Direktori data dotnetup berisi file status tingkat pengguna ini:

File Kegunaan
dotnetup_manifest.json Melacak akar penginstalan, spesifikasi penginstalan, penginstalan, dan subkomponen bersama.
dotnetup_manifest.json.sha256 Mendeteksi perubahan pada isi manifes yang tidak ditulis oleh dotnetup.
dotnetup.config.json Menyimpan mode akses .NET dan apakah direktori dotnetup berada di PATH.

Jangan edit file-file ini. Gunakan perintah dotnetup install, update, uninstall, dan env untuk mengubah status terkait.

Variabel lingkungan DOTNET_DOTNETUP_DATA_DIR menentukan direktori data. Opsi --manifest-path hanya mengubah manifes yang digunakan oleh satu perintah. Ini tidak mengubah file konfigurasi atau akar penginstalan default.

Operasi bersamaan

Menginstal, memperbarui, menghapus instalasi, mencantumkan, dan alur kerja pengumpulan sampah mengoordinasikan akses ke status penginstalan bersama. Perintah yang menerima beberapa spesifikasi menentukan resolusinya sebelum penginstalan dan dapat mengunduhnya secara bersamaan. Perubahan manifes tetap diserialisasikan.

Baca juga