Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, uygulama başlatma hatalarının bazı yaygın nedenleri ve olası çözümleri açıklanmaktadır. Makinenizde bir .NET yüklemesini kullanan çerçeveye bağımlı uygulamalarla ilgilidir.
Hangi .NET sürümüne ihtiyacınız olduğunu zaten biliyorsanız, .NET indirmelerinden indirebilirsiniz.
.NET yüklemesi bulunamadı
.NET yüklemesi bulunamazsa uygulama aşağıdakine benzer bir iletiyle başlatılamaz:
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
Bunun nedeni bir paket karışımı olabilir.
Genel kurulumlar /etc/dotnet/install_location içine kaydedilir. Bazı sistemlerde, gibi /etc/dotnet/install_location_arm64mimariye özgü dosyalar da bulunur.
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
Genel kurulumlar /etc/dotnet/install_location içine kaydedilir. Bazı sistemlerde, gibi /etc/dotnet/install_location_arm64mimariye özgü dosyalar da bulunur.
Hata iletisi .NET'i indirmek için bir bağlantı içerir. Uygun indirme sayfasına ulaşmak için bu bağlantıyı izleyebilirsiniz.
.NET indirmeleri sayfasından, Host version tarafından belirtilen .NET sürümünü de seçebilirsiniz.
Gerekli .NET sürümünün indirme sayfasında , hata iletisinde listelenen mimariyle eşleşen .NET Çalışma Zamanı indirmesini bulun. Ardından bir Yükleyici indirip çalıştırarak yükleyebilirsiniz.
.NET, çeşitli Linux paket yöneticileri aracılığıyla kullanılabilir. Daha fazla bilgi için bkz. Linux'a .NET yükleme. (.NET'in önizleme sürümleri genellikle paket yöneticileri aracılığıyla kullanılamaz.)
gibi dotnet-runtime-10.0uygun sürüm için .NET Çalışma Zamanı paketini yüklemeniz gerekir.
Alternatif olarak, gerekli .NET sürümünün indirme sayfasında belirtilen mimari için ikili dosyaları indirebilirsiniz.
Gerekli çerçeve bulunamadı
Gerekli bir çerçeve veya uyumlu sürüm bulunamazsa uygulama aşağıdakine benzer bir iletiyle başlatılamaz:
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]
Hata, eksik çerçevenin adını, sürümünü ve mimarisini ve yüklenmesi beklenen konumu gösterir. Uygulamayı çalıştırmak için, belirtilen ".NET konumuna" uyumlu bir çalışma zamanı yükleyebilirsiniz . Uygulama yüklediğiniz sürümden daha düşük bir sürümü hedeflediyse ve bunu daha yüksek bir sürümde çalıştırmak istiyorsanız, uygulama için ileri sarma davranışını da yapılandırabilirsiniz .
Uyumlu bir çalışma zamanı yükleme
Hata iletisi eksik çerçeveyi indirmek için bir bağlantı içerir. Uygun indirme sayfasına ulaşmak için bu bağlantıyı izleyebilirsiniz.
Alternatif olarak, .NET indirmeleri sayfasından bir çalışma zamanı indirebilirsiniz. Birden fazla .NET çalışma zamanı indirme seçeneği vardır.
Aşağıdaki tabloda her çalışma zamanının içerdiği çerçeveler gösterilmektedir.
| Çalışma Zamanı İndirme | Dahil edilen çerçeveler |
|---|---|
| ASP.NET Core Çalışma Zamanı | Microsoft.NETCore.App Microsoft.AspNetCore.App |
| .NET Masaüstü Çalışma Zamanı | Microsoft.NETCore.App Microsoft.WindowsDesktop.App |
| .NET Çalışma Zamanı | Microsoft.NETCore.App |
| Runtime indirme | Dahil edilen çerçeveler |
|---|---|
| ASP.NET Core Çalışma Zamanı | Microsoft.NETCore.App Microsoft.AspNetCore.App |
| .NET Çalışma Zamanı | Microsoft.NETCore.App |
Eksik framework’ü içeren bir çalışma zamanı indirmesi seçin ve ardından bunu yükleyin.
Gerekli .NET sürümünün indirme sayfasında, hata iletisinde belirtilen mimariyle eşleşen çalışma zamanı yüklemesini bulun. Büyük olasılıkla bir Yükleyici indirmek istiyorsunuz.
.NET, çeşitli Linux paket yöneticileri aracılığıyla kullanılabilir. Ayrıntılar için bkz. Linux'a .NET yükleme . (.NET'in önizleme sürümleri genellikle paket yöneticileri aracılığıyla kullanılamaz.)
dotnet-runtime-10.0 veya aspnetcore-runtime-10.0 gibi uygun sürüme ait .NET çalışma zamanı paketini yüklemeniz gerekir.
Alternatif olarak, gerekli .NET sürümünün indirme sayfasında belirtilen mimari için ikili dosyaları indirebilirsiniz.
Çoğu durumda, başlatamayan uygulama böyle bir yükleme kullandığında, hata iletisindeki ".NET konumu" şunu gösterir:
%ProgramFiles%\dotnet
/usr/share/dotnet/
/usr/local/share/dotnet/
DOTNET_ROOT ortam değişkenini denetleme
DOTNET_ROOT Ortam değişkeni, uygulamaya sürücüyü ve ihtiyaç duyduğu çerçeveleri nerede bulacağını dotnet söyler. Bu değişken yanlış ayarlanırsa veya geçerli bir .NET yüklemesi içermeyen bir konuma işaret ederse, .NET makinede başka bir yere yüklendiğinde bile uygulama başlatılamaz.
Aranacak yaygın sorunlar:
-
Değişken yanlış konumu gösteriyor —
DOTNET_ROOTönceki bir .NET yüklemesindeki, bir CI ortamındaki veya artık mevcut yükleme konumunu yansıtmayan bir betikteki bir yola ayarlanmış olabilir. -
Değişken olmaması gereken durumlarda ayarlanır — Ortamda ayarlanırsa
DOTNET_ROOT.NET varsayılan yükleme konumunu tamamen atlar. .NET taşındıysa değişkeni kaldırın veya güncelleştirin. -
Mimari uyuşmazlığı — 64 bit makinede 32 bit uygulamaları çalıştırırken mimariye özgü değişkenini kullanın. Örneğin,
DOTNET_ROOT_X86öğesini 32 bitlik kurulumu gösterecek şekilde ayarlayın. Daha fazla bilgi için bkzDOTNET_ROOT. ortam değişkeni.
Tanılamak için değişkenin geçerli değerini yazdırın ve geçerli bir .NET yüklemesi içeren bir dizine işaret ettiğini onaylayın:
echo $env:DOTNET_ROOT
echo $DOTNET_ROOT
Değişken ayarlanırsa, yolun mevcut olduğunu ve beklenen .NET sürümünü içerdiğini doğrulayın. Değişken ayarlı değilse .NET platformunuzun varsayılan yükleme konumuna geri döner.
Yükleme konumunu denetleyin
Windows .NET, .NET yüklemesinin bulunduğu ilk konum olan tek bir konumu arar. Çerçeve araması başarısız olursa, .NET beklenen konuma yüklendiğini doğrulayın.
Uygulamayı dotnet aracılığıyla çalıştırdığınızda, çerçeveler dotnet'e göreli alt dizinlerde aranır. Uygulamayı yürütülebilir dosyası ()apphost aracılığıyla çalıştırdığınızda .NET aşağıdaki konumları sırayla arar ve yüklemenin bulunduğu ilk konumu kullanır:
- Ortam değişkenine
DOTNET_ROOTgöre alt dizinler (ayarlandıysa). -
HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\<arch>\InstallLocationiçinde genelinde kayıtlı kurulum konumu (ayarlanmışsa). - Varsayılan yükleme konumu:
%ProgramFiles%\dotnet(veya 64 bit Windows'ta 32 bit işlemler için%ProgramFiles(x86)%\dotnet).
.NET varsayılan olmayan bir konuma yüklenmişse, DOTNET_ROOT uygulamanın doğru yüklemeyi bulabilmesi için bunu işaret edin.
dotnet-install betiğini çalıştırma
CI senaryoları veya geçici ortamlar gibi hızlı, yönetici olmayan bir yüklemeye ihtiyacınız olduğunda dotnet-install betiğini kullanın.
Betik, seçtiğiniz bir klasöre .NET yükler. Standart işletim sistemi yükleyicisi gibi davranmaz ve özel bir yükleme oluşturur.
Bir uygulamayı bu özel kurulumdan çalıştırmak için, bir yürütülebilir dosya aracılığıyla ( apphost olarak bilinir) başlattığınızda DOTNET_ROOT (veya mimariye özgü varyantını) ortam değişkenini ayarlayın ya da aynı kurulum konumundan eşleşen dotnet ana işlemi aracılığıyla başlatın.
Windows yükleme adımları için bkz. PowerShell ile yükleme.
Linux'ta yükleme adımları için bkz. Betikle .NET yükleme.
macOS'ta yükleme adımları için bkz. .NET betikle yükleme.
Betik seçenekleri ve davranış ayrıntıları için bkz. dotnet-install betik başvurusu.
İkili dosyaları indirme
İndirme sayfasından .NET ikili arşivini indirebilirsiniz. Çalışma zamanının indirme sayfasındaki İkili dosyalar sütunundan, gerekli mimariye uygun ikili sürümü indirin. İndirilen arşivi hata iletisinde belirtilen ".NET konumuna" ayıklayın.
El ile yükleme hakkında daha fazla bilgi için bkz. Windows'a .NET yükleme
El ile yükleme hakkında daha fazla bilgi için bkz. Linux'ta .NET yükleme
El ile yükleme hakkında daha fazla bilgi için bkz. macOS'a .NET yükleme
İleri alma davranışını yapılandırın
Gerekli çerçevenin daha yüksek bir sürümü zaten yüklüyse, uygulamanın ileri sarma davranışını yapılandırarak bu daha yüksek sürümde çalışmasını sağlayabilirsiniz.
Uygulamayı çalıştırırken komut satırı seçeneğini belirtebilir--roll-forward veya ortam değişkeniniDOTNET_ROLL_FORWARD ayarlayabilirsiniz.
Varsayılan olarak, bir uygulama, uygulamanın hedeflediği ana sürümle eşleşen ancak daha yüksek bir ikincil veya düzeltme eki sürümü kullanabilen bir çerçeve gerektirir. Ancak uygulama geliştiricileri farklı bir davranış belirtmiş olabilir. Daha fazla bilgi için bkz. Çerçeveye bağımlı uygulamalarda ileri alma.
Uyarı
Bu seçeneğin kullanılması, uygulamanın tasarlandığı sürümden farklı bir çerçeve sürümünde çalışmasına izin vermesinden dolayı, çerçeve sürümleri arasındaki değişiklikler nedeniyle istenmeyen davranışlara neden olabilir.