Artikel ini menjelaskan beberapa alasan umum dan kemungkinan solusi untuk kegagalan peluncuran aplikasi. Ini terkait dengan aplikasi yang bergantung pada kerangka kerja, yang mengandalkan instalasi .NET pada mesin Anda.
Jika Anda sudah mengetahui versi .NET yang Anda butuhkan, Anda dapat mengunduhnya dari unduhan .NET.
.NET instalasi tidak ditemukan
Jika penginstalan .NET tidak ditemukan, aplikasi gagal diluncurkan dengan pesan yang mirip dengan:
You must install .NET to run this application.
App: C:\repos\myapp\myapp.exe
Architecture: x64
Host version: 7.0.0
.NET location: Not found
You must install .NET to run this application.
App: /home/user/repos/myapp/myapp
Architecture: x64
Host version: 7.0.0
.NET location: Not found
Pesan kesalahan menyertakan tautan untuk mengunduh .NET. Anda dapat mengikuti tautan ini untuk sampai ke halaman unduhan yang sesuai. Anda juga dapat memilih versi .NET (ditentukan oleh Host version
) dari unduhan .NET.
Pada halaman unduh untuk versi .NET yang diperlukan, temukan .NET Runtime unduh yang cocok dengan arsitektur yang tercantum dalam pesan kesalahan. Anda kemudian dapat menginstalnya dengan mengunduh dan menjalankan aplikasi Pemasang.
.NET tersedia melalui berbagai manajer paket Linux. Lihat Instal .NET di Linux untuk detailnya. Perhatikan bahwa versi pratinjau .NET biasanya tidak tersedia melalui manajer paket.
Anda perlu menginstal paket .NET Runtime untuk versi yang sesuai, seperti dotnet-runtime6
.
Atau, pada halaman unduh untuk versi .NET yang diperlukan, Anda dapat mengunduh Biner untuk arsitektur yang ditentukan.
Kerangka kerja yang diperlukan tidak ditemukan
Jika kerangka kerja yang diperlukan atau versi yang kompatibel tidak ditemukan, aplikasi gagal diluncurkan dengan pesan yang mirip dengan:
You must install or update .NET to run this application.
App: C:\repos\myapp\myapp.exe
Architecture: x64
Framework: 'Microsoft.NETCore.App', version '5.0.15' (x64)
.NET location: C:\Program Files\dotnet\
The following frameworks were found:
6.0.2 at [c:\Program Files\dotnet\shared\Microsoft.NETCore.App]
You must install or update .NET to run this application.
App: /home/user/repos/myapp/myapp
Architecture: x64
Framework: 'Microsoft.NETCore.App', version '5.0.15' (x64)
.NET location: /usr/share/dotnet/
The following frameworks were found:
6.0.2 at [/usr/share/dotnet/shared/Microsoft.NETCore.App]
You must install or update .NET to run this application.
App: /home/user/repos/myapp/myapp
Architecture: x64
Framework: 'Microsoft.NETCore.App', version '5.0.15' (x64)
.NET location: /usr/local/share/dotnet/
The following frameworks were found:
6.0.2 at [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Kesalahan menunjukkan nama, versi, dan arsitektur kerangka kerja yang hilang dan lokasi di mana ia diharapkan untuk dipasang. Untuk menjalankan aplikasi, Anda dapat menginstal runtime yang kompatibel di “.NET location” yang ditentukan. Jika aplikasi menargetkan versi yang lebih rendah daripada yang telah Anda instal dan Anda ingin menjalankannya pada versi yang lebih tinggi, Anda juga dapat mengonfigurasi perilaku roll-forward untuk aplikasi.
Instal waktu proses yang kompatibel
Pesan kesalahan menyertakan tautan untuk mengunduh kerangka kerja yang hilang. Anda dapat mengikuti tautan ini untuk sampai ke halaman unduhan yang sesuai.
Sebagai alternatif, Anda dapat mengunduh runtime dari halaman unduhan .NET. Ada beberapa unduhan runtime .NET.
Tabel berikut menunjukkan kerangka kerja yang berisi setiap runtime.
Unduhan runtime | Termasuk kerangka kerja |
---|---|
Waktu Proses Inti ASP.NET | Microsoft.NETCore.App Microsoft.AspNetCore.App |
.NET Desktop Runtime | Microsoft.NETCore.App Microsoft.WindowsDesktop.App |
.NET Runtime | Microsoft.NETCore.App |
Unduhan runtime | Termasuk kerangka kerja |
---|---|
Waktu Proses Inti ASP.NET | Microsoft.NETCore.App Microsoft.AspNetCore.App |
.NET Runtime | Microsoft.NETCore.App |
Pilih unduhan runtime yang berisi kerangka kerja yang hilang, dan instal.
Pada halaman unduhan untuk versi .NET yang diperlukan, temukan unduhan runtime yang cocok dengan arsitektur yang tercantum dalam pesan kesalahan. Anda mungkin ingin mengunduh Pemasang.
.NET tersedia melalui berbagai manajer paket Linux. Lihat Instal .NET di Linux untuk detailnya. Perhatikan bahwa versi pratinjau .NET biasanya tidak tersedia melalui manajer paket.
Anda perlu menginstal paket runtime .NET untuk versi yang sesuai, seperti dotnet-runtime6
atau dotnet-aspnet6
.
Atau, pada halaman unduh untuk versi .NET yang diperlukan, Anda dapat mengunduh Biner untuk arsitektur yang ditentukan.
Dalam kebanyakan kasus, ketika aplikasi yang gagal diluncurkan menggunakan penginstalan seperti itu, “.NET location” dalam pesan kesalahan menunjuk ke:
Pilihan lain
Ada opsi instalasi dan solusi lain yang perlu dipertimbangkan.
Jalankan skrip dotnet-install
Unduh skrip dotnet-install untuk sistem operasi Anda. Jalankan skrip dengan opsi berdasarkan informasi dalam pesan kesalahan. Halaman referensi skrip dotnet-install menunjukkan semua opsi yang tersedia.
Luncurkan PowerShell dan jalankan:
dotnet-install.ps1 -Architecture <architecture> -InstallDir <directory> -Runtime <runtime> -Version <version>
Misalnya, pesan kesalahan di bagian sebelumnya akan sesuai dengan:
dotnet-install.ps1 -Architecture x64 -InstallDir "C:\Program Files\dotnet\" -Runtime dotnet -Version 5.0.15
Jika Anda mengalami kesalahan yang menyatakan bahwa menjalankan skrip dinonaktifkan, Anda mungkin perlu menyetel kebijakan eksekusi agar skrip dapat dijalankan:
Set-ExecutionPolicy Bypass -Scope Process
Untuk detail selengkapnya tentang penginstalan menggunakan skrip, lihat Instal dengan otomatisasi PowerShell.
./dotnet-install.sh --architecture <architecture> --install-dir <directory> --runtime <runtime> --version <version>
Misalnya, pesan kesalahan di bagian sebelumnya akan sesuai dengan:
./dotnet-install.sh --architecture x64 --install-dir /usr/share/dotnet/ --runtime dotnet --version 5.0.15
Untuk detail selengkapnya tentang penginstalan menggunakan skrip, lihat Instal skrip.
./dotnet-install.sh --architecture <architecture> --install-dir <directory> --runtime <runtime> --version <version>
Misalnya, pesan kesalahan di bagian sebelumnya akan sesuai dengan:
./dotnet-install.sh --architecture x64 --install-dir /usr/local/share/dotnet/ --runtime dotnet --version 5.0.15
Untuk detail selengkapnya tentang penginstalan menggunakan skrip, lihat Instal dengan otomatisasi bash.
Unduh binari
Anda dapat mengunduh arsip biner .NET dari halaman unduhan. Dari Biner kolom unduhan runtime, unduh rilis biner yang cocok dengan arsitektur yang diperlukan. Ekstrak arsip yang diunduh ke “.NET location” yang ditentukan dalam pesan kesalahan.
Konfigurasikan perilaku roll-forward
Jika Anda sudah menginstal versi yang lebih tinggi dari kerangka kerja yang diperlukan, Anda dapat membuat aplikasi berjalan pada versi yang lebih tinggi tersebut dengan mengonfigurasi perilaku roll-forward-nya.
Saat menjalankan aplikasi, Anda dapat menentukan --roll-forward
opsi baris perintah atau atur DOTNET_ROLL_FORWARD
variabel lingkungan. Secara default, aplikasi memerlukan kerangka kerja yang cocok dengan versi mayor yang sama dengan target aplikasi, tetapi dapat menggunakan versi minor atau patch yang lebih tinggi. Namun, pengembang aplikasi mungkin telah menetapkan perilaku yang berbeda. Untuk detail selengkapnya, lihat aplikasi yang bergantung pada kerangka kerja.
Catatan
Karena menggunakan opsi ini memungkinkan aplikasi berjalan pada versi kerangka kerja yang berbeda dari yang dirancang, hal itu dapat mengakibatkan perilaku yang tidak diinginkan karena perubahan antar versi kerangka kerja.
Melanggar perubahan
Pencarian multi-level dinonaktifkan untuk .NET 7 dan yang lebih baru
Pada Windows, sebelum .NET 7, aplikasi dapat mencari kerangka kerja di beberapa lokasi pemasangan.
-
Subdirektori relatif terhadap:
dotnet
dapat dieksekusi saat menjalankan aplikasi melaluidotnet
DOTNET_ROOT
variabel lingkungan (jika disetel) saat menjalankan aplikasi melalui executable-nya (apphost
)
-
Lokasi pemasangan yang terdaftar secara global (jika disetel) di
HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\<arch>\InstallLocation
. -
Lokasi pemasangan default dari
%ProgramFiles%\dotnet
(atau%ProgramFiles(x86)%\dotnet
untuk proses 32-bit pada Windows 64-bit).
Perilaku pencarian multi-level ini diaktifkan secara default tetapi dapat dinonaktifkan dengan mengatur variabel lingkungan DOTNET_MULTILEVEL_LOOKUP=0
.
Untuk aplikasi yang menargetkan .NET 7 dan yang lebih baru, pencarian multi-level dinonaktifkan sepenuhnya dan hanya satu lokasi—lokasi pertama tempat penginstalan .NET ditemukan—dicari. Saat menjalankan aplikasi melalui dotnet
kerangka kerja hanya dicari di subdirektori relatif terhadap dotnet
. Saat menjalankan aplikasi melalui executable-nya (apphost
), kerangka kerja hanya dicari di lokasi pertama di atas tempat .NET ditemukan.
Untuk detail selengkapnya, lihat Menonaktifkan pencarian multi-level secara default.