Aracılığıyla paylaş


dotnet run

Bu makale şunlar için geçerlidir: ✔️ .NET 6 SDK ve sonraki sürümler

Veri Akışı Adı

dotnet run - Açık derleme veya başlatma komutları olmadan kaynak kodu çalıştırır.

Özet

dotnet run [<applicationArguments>]
  [-a|--arch <ARCHITECTURE>] [--artifacts-path <ARTIFACTS_DIR>]
  [-c|--configuration <CONFIGURATION>] [-e|--environment <KEY=VALUE>]
  [--file <FILE_PATH>] [-f|--framework <FRAMEWORK>] [--force] [--interactive]
  [--launch-profile <NAME>] [--no-build] [--no-dependencies]
  [--no-launch-profile] [--no-restore] [--os <OS>] [--project <PATH>]
  [-r|--runtime <RUNTIME_IDENTIFIER>] [--tl:[auto|on|off]]
  [-v|--verbosity <LEVEL>] [[--] [application arguments]]

dotnet run -h|--help

Açıklama

komutu, dotnet run uygulamanızı tek bir komutla kaynak koddan çalıştırmak için uygun bir seçenek sağlar. Komut satırından hızlı yinelemeli geliştirme için kullanışlıdır. komutu, kodu derlemek dotnet build için komutuna bağlıdır. Derlemeye yönelik tüm gereksinimler de geçerlidir dotnet run .

Not

dotnet rungibi /property:property=valuebağımsız değişkenlere saygı göstermez.dotnet build

Çıkış dosyaları varsayılan konuma (olan bin/<configuration>/<target>) yazılır. Örneğin, bir netcoreapp2.1 uygulamanız varsa ve çalıştırıyorsanız dotnet run, çıktı içine bin/Debug/netcoreapp2.1yerleştirilir. Dosyaların üzerine gerektiği gibi yazılır. Geçici dosyalar dizine obj yerleştirilir.

Proje birden çok çerçeve belirtiyorsa, bu seçenek çerçeveyi belirtmek için kullanılmadığı sürece yürütülürken dotnet run-f|--framework <FRAMEWORK> hata oluşur.

komutu dotnet run , derlenmiş derlemeler değil projeler bağlamında kullanılır. Bunun yerine çerçeveye bağımlı bir uygulama DLL'sini çalıştırmaya çalışıyorsanız, dotnet komutunu komut olmadan kullanmanız gerekir. Örneğin, komutunu çalıştırmak myapp.dlliçin şunu kullanın:

dotnet myapp.dll

Sürücü hakkında dotnet daha fazla bilgi için bkz . .NET CLI'ya genel bakış.

Uygulamayı çalıştırmak için komutu, dotnet run NuGet önbelleğinden paylaşılan çalışma zamanının dışında olan uygulamanın bağımlılıklarını çözümler. Önbelleğe alınmış bağımlılıklar kullandığından, uygulamaları üretim ortamında çalıştırmak için kullanılması dotnet run önerilmez. Bunun yerine komutunu oluşturun ve yayımlanan çıkışı dağıtın.

Örtük geri yükleme

, , dotnet restoreve dotnet newgibi dotnet builddotnet rundotnet testdotnet publishgeri yükleme gerektiren tüm komutlar tarafından örtük olarak çalıştırıldığından, komutunu çalıştırmanız dotnet pack gerekmez. Örtük geri yüklemeyi devre dışı bırakmak için seçeneğini kullanın --no-restore .

Komutudotnet restore, Azure DevOps Services'teki sürekli tümleştirme derlemeleri veya geri yüklemenin ne zaman gerçekleştiğini açıkça denetlemesi gereken derleme sistemleri gibi açıkça geri yüklemenin anlamlı olduğu bazı senaryolarda hala yararlıdır.

NuGet akışlarını yönetme hakkında bilgi için belgelere dotnet restore bakın.

Bu komut, uzun biçimde geçirildiğinde (örneğin, dotnet restore) seçenekleri destekler--source. gibi -skısa form seçenekleri desteklenmez.

İş yükü bildirimi indirmeleri

Bu komutu çalıştırdığınızda, iş yükleri için reklam bildirimlerini zaman uyumsuz bir arka plan indirme işlemi başlatır. Bu komut tamamlandığında indirme işlemi hala çalışıyorsa indirme durdurulur. Daha fazla bilgi için bkz . Reklam bildirimleri.

Arguments

<applicationArguments>

Çalıştırılmakta olan uygulamaya geçirilen bağımsız değişkenler.

tarafından dotnet run tanınmayan tüm bağımsız değişkenler uygulamaya geçirilir. bağımsız değişkenlerini dotnet run uygulamanın bağımsız değişkenlerinden ayırmak için seçeneğini kullanın -- .

Seçenekler

  • --

    Çalıştırılmakta olan uygulamanın bağımsız değişkenlerinden dotnet run bağımsız değişkenleri ile sınırlandırıyor. Bu sınırlayıcıdan sonraki tüm bağımsız değişkenler uygulama çalıştırmasına geçirilir.

  • -a|--arch <ARCHITECTURE>

    Hedef mimariyi belirtir. Bu, sağlanan değerin varsayılan RID ile birleştirildiği Çalışma Zamanı Tanımlayıcısı'nı (RID) ayarlamak için bir kısaltma söz dizimidir. Örneğin, bir win-x64 makinede, belirterek --arch x86 RID değerini olarak win-x86ayarlar. Bu seçeneği kullanırsanız, seçeneğini kullanmayın -r|--runtime . .NET 6 Preview 7 sürümünden itibaren kullanılabilir.

  • --artifacts-path <ARTIFACTS_DIR>

    Yürütülen komuttaki tüm derleme çıktı dosyaları, projeyle ayrılmış olarak belirtilen yolun altındaki alt klasörlere gider. Daha fazla bilgi için bkz . Yapıt Çıktı Düzeni. .NET 8 SDK'sı ile kullanılabilir.

  • -c|--configuration <CONFIGURATION>

    Derleme yapılandırmasını tanımlar. Çoğu proje için varsayılan değer şeklindedir Debug, ancak projenizdeki derleme yapılandırma ayarlarını geçersiz kılabilirsiniz.

  • --disable-build-servers

    Komutu kalıcı derleme sunucularını yoksaymaya zorlar. Bu seçenek, derleme önbelleğinin tüm kullanımını devre dışı bırakmak için tutarlı bir yol sağlar ve bu da bir derlemeyi sıfırdan zorlar. Önbelleklere güvenmeyen bir derleme, önbellekler herhangi bir nedenle bozulduğunda veya yanlış olduğunda kullanışlıdır. .NET 7 SDK'sı ile kullanılabilir.

  • -e|--environment <KEY=VALUE>

    komutu tarafından çalıştırılacak işlemde belirtilen ortam değişkenini ayarlar. Belirtilen ortam değişkeni işleme uygulanmadıdotnet run.

    Bu seçenekten geçirilen ortam değişkenleri ortam ortam değişkenlerine, System.CommandLine env yönergelerine ve environmentVariables seçilen başlatma profilinden önceliklidir. Daha fazla bilgi için bkz . Ortam değişkenleri.

    (Bu seçenek .NET SDK 9.0.200'e eklendi.)

  • -f|--framework <FRAMEWORK>

    Belirtilen çerçeveyi kullanarak uygulamayı derler ve çalıştırır. Çerçeve proje dosyasında belirtilmelidir.

  • --file <FILE_PATH>

    Çalıştırılacak dosya tabanlı uygulamanın yolu. Yol belirtilmezse, dosyayı bulmak ve çalıştırmak için geçerli dizin kullanılır. Dosya tabanlı uygulamalar hakkında daha fazla bilgi için bkz. Dosya tabanlı C# uygulamaları oluşturma.

    Unix'te, yerine komut satırındaki dotnet runkaynak dosya adını kullanarak dosya tabanlı uygulamaları doğrudan çalıştırabilirsiniz. İlk olarak, dosyanın yürütme izinlerine sahip olduğundan emin olun. Ardından, dosyanın ilk satırı olarak bir shebang satırı #! ekleyin, örneğin:

    #!/usr/bin/env dotnet run
    

    Ardından dosyayı doğrudan komut satırından çalıştırabilirsiniz:

    ./ConsoleApp.cs
    

    .NET SDK 10.0.100 ile kullanıma sunulmuştur.

  • --force

    Son geri yükleme başarılı olsa bile tüm bağımlılıkların çözümlenmesine zorlar. Bu bayrağın belirtilmesi, project.assets.json dosyasını silmekle aynıdır.

  • --interactive

    Komutun durmasına ve kullanıcı girişini veya eylemini beklemesine izin verir. Örneğin, kimlik doğrulamasını tamamlamak için.

  • --launch-profile <NAME>

    Uygulamayı başlatırken kullanılacak başlatma profilinin adı (varsa). Başlatma profilleri launchSettings.json dosyasında tanımlanır Daha fazla bilgi için bkz . Birden çok ortamla çalışma.

  • --no-build

    Çalıştırmadan önce projeyi derlemez. Ayrıca bayrağı örtük olarak ayarlar --no-restore .

  • --no-cache

    Güncel denetimleri atlayın ve çalıştırmadan önce programı her zaman derleyin.

  • --no-dependencies

    Projeden projeye (P2P) başvurularla bir projeyi geri yüklerken, başvuruları değil kök projeyi geri yükler.

  • --no-launch-profile

    Uygulamayı yapılandırmak için launchSettings.json kullanmayı denemez.

  • --no-restore

    Komutu çalıştırırken örtük geri yükleme yürütmez.

  • --no-self-contained

    Uygulamanızı çerçeveye bağımlı bir uygulama olarak yayımlayın. Uygulamanızı çalıştırmak için hedef makineye uyumlu bir .NET çalışma zamanı yüklenmelidir.

  • --os <OS>

    Hedef işletim sistemini (OS) belirtir. Bu, sağlanan değerin varsayılan RID ile birleştirildiği Çalışma Zamanı Tanımlayıcısı'nı (RID) ayarlamak için bir kısaltma söz dizimidir. Örneğin, bir win-x64 makinede, belirterek --os linux RID değerini olarak linux-x64ayarlar. Bu seçeneği kullanırsanız, seçeneğini kullanmayın -r|--runtime . .NET 6'dan itibaren kullanılabilir.

  • --project <PATH>

    Çalıştırılacak proje dosyasının yolunu belirtir (klasör adı veya tam yol). Belirtilmezse, varsayılan olarak geçerli dizine geçer.

    -p --project kısaltması .NET 6 SDK'dan başlayarak kullanım dışı bırakılmıştır. Sınırlı bir süre için, -p kullanımdan kaldırma uyarısına rağmen için --project kullanılabilir. seçeneği için sağlanan bağımsız değişken içermiyorsa=, komutu için -pkısa olarak kabul eder--project. Aksi takdirde, komutu bunun için -pkısa olduğunu --property varsayar. için bu esnek kullanımı -p--project .NET 7'de aşamalı olarak kullanıma sunulacaktır.

  • --property:<NAME>=<VALUE>

    Bir veya daha fazla MSBuild özelliği ayarlar. Noktalı virgülle sınırlandırılmış birden çok özellik belirtin veya şu seçeneği yineleyerek:

    --property:<NAME1>=<VALUE1>;<NAME2>=<VALUE2>
    --property:<NAME1>=<VALUE1> --property:<NAME2>=<VALUE2>
    

    Kısa form -p için --propertykullanılabilir. seçeneği için sağlanan bağımsız değişken öğesini içeriyorsa =, -p için --propertykısa kabul edilir. Aksi takdirde, komutu bunun için -pkısa olduğunu --project varsayar.

    BIR MSBuild özelliği ayarlamak yerine uygulamaya geçirmek --property için söz dizimi ayırıcısından -- sonra seçeneğini belirtin, örneğin:

    dotnet run -- --property name=value
    
  • -r|--runtime <RUNTIME_IDENTIFIER>

    Paketlerinin geri yükleneceği hedef çalışma zamanını belirtir. Çalışma Zamanı Tanımlayıcılarının (RID) listesi için RID kataloğuna bakın.

  • --sc|--self-contained

    Çalışma zamanının hedef makineye yüklenmesi gerekmemesi için .NET çalışma zamanını uygulamanızla yayımlayın.

  • --tl:[auto|on|off]

    Derleme çıkışı için Terminal Günlükçü'lerinin kullanılıp kullanılmayacağını belirtir. Varsayılan değer, terminal günlüğünü etkinleştirmeden önce ortamı doğrulayan değeridir auto. Ortam denetimi, terminalin modern çıkış özelliklerini kullanabileceğini ve yeni günlükçü'leri etkinleştirmeden önce yeniden yönlendirilmiş standart çıkış kullanmadığını doğrular. on ortam denetimini atlar ve terminal günlüğünü etkinleştirir. off ortam denetimini atlar ve varsayılan konsol günlükçüsüsü kullanır.

    Terminal Günlükçü, geri yükleme aşamasını ve ardından derleme aşamasını gösterir. Her aşamada, şu anda oluşturulan projeler terminalin en altında görünür. Derlemeye alınan her proje, hem şu anda derlenen MSBuild hedefini hem de bu hedefe harcanan süreyi oluşturur. Derleme hakkında daha fazla bilgi edinmek için bu bilgileri arayabilirsiniz. Bir projenin oluşturulması tamamlandığında, şunları yakalayan tek bir "derleme tamamlandı" bölümü yazılır:

    • Oluşturulan projenin adı.
    • Hedef çerçeve (çok hedefliyse).
    • Bu derlemenin durumu.
    • Bu derlemenin birincil çıkışı (köprüdür).
    • Bu proje için oluşturulan tüm tanılamalar.

    Bu seçenek .NET 8'den itibaren kullanılabilir.

  • -v|--verbosity <LEVEL>

    Komutun ayrıntı düzeyini ayarlar. İzin verilen değerler , q[uiet], m[inimal], n[ormal]ve d[etailed]değerleridirdiag[nostic]. Varsayılan değer: minimal. Daha fazla bilgi için bkz. LoggerVerbosity.

  • -?|-h|--help

    komutunun nasıl kullanılacağına ilişkin bir açıklama yazdırır.

Ortam değişkenleri

Başlatılan uygulamaya ortam değişkenlerinin uygulanabileceği dört mekanizma vardır:

  1. Komut çalıştırıldığında işletim sisteminden ortam ortam değişkenleri.
  2. Gibi envSystem.CommandLine [env:key=value] yönergeleri. Bunlar yalnızca tarafından dotnet runçalıştırılan proje için değil tüm işlem için dotnet run geçerlidir.
  3. environmentVariablesvarsa, projenin -lp seçilen başlatma profilinden (). Bunlar tarafından dotnet runçalıştırılan projeye uygulanır.
  4. -e|--environment CLI seçeneği değerleri (.NET SDK sürüm 9.0.200'de eklendi). Bunlar tarafından dotnet runçalıştırılan projeye uygulanır.

Ortam bu listeyle aynı sırada oluşturulur, bu nedenle -e|--environment seçenek en yüksek önceliğe sahiptir.

Örnekler

  • Projeyi geçerli dizinde çalıştırın:

    dotnet run
    
  • Belirtilen dosya tabanlı uygulamayı geçerli dizinde çalıştırın:

    dotnet run --file ConsoleApp.cs
    

    .NET SDK 10.0.100'e dosya tabanlı uygulama desteği eklendi.

  • Belirtilen projeyi çalıştırın:

    dotnet run --project ./projects/proj1/proj1.csproj
    
  • Projeyi geçerli dizinde çalıştırın ve Yayın yapılandırması'nı belirtin:

    dotnet run --property:Configuration=Release
    
  • Projeyi geçerli dizinde çalıştırın ( --help boş -- seçenek kullanıldığından bu örnekteki bağımsız değişken uygulamaya geçirilir):

    dotnet run --configuration Release -- --help
    
  • Geçerli dizinde proje için bağımlılıkları ve araçları geri yükleyip yalnızca en düşük çıkışı görüntüleyin ve sonra projeyi çalıştırın:

    dotnet run --verbosity m
    
  • Belirtilen çerçeveyi kullanarak projeyi geçerli dizinde çalıştırın ve bağımsız değişkenleri uygulamaya geçirin:

    dotnet run -f net6.0 -- arg1 arg2
    

    Aşağıdaki örnekte, uygulamaya üç bağımsız değişken geçirilir. bir bağımsız değişken kullanılarak -geçirilir ve sonra iki bağımsız değişken geçirilir --:

    dotnet run -f net6.0 -arg1 -- arg2 arg3