Megosztás a következőn keresztül:


dotnet-futtatás

Ez a cikk a következő verziókra vonatkozik: ✔️ .NET 6 SDK és újabb verziók

Név

dotnet run – A forráskódot explicit fordítási vagy indítási parancsok nélkül futtatja.

Szinopszis

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

Leírás

A dotnet run parancs kényelmes lehetőséget biztosít az alkalmazás forráskódból való futtatására egyetlen paranccsal. A parancssorból történő gyors iteratív fejlesztéshez hasznos. A parancs a dotnet build kód létrehozásához megadott parancstól függ. A buildre vonatkozó követelmények is érvényesek dotnet run .

Feljegyzés

dotnet runnem tiszteli az olyan argumentumokat, mint /property:property=valuea .dotnet build

A kimeneti fájlok az alapértelmezett helyre vannak beírva, ami a következő bin/<configuration>/<target>: . Ha például rendelkezik egy netcoreapp2.1 alkalmazással, és futtatja dotnet run, a kimenet a bin/Debug/netcoreapp2.1következőbe kerül: . A fájlok szükség szerint felülíródnak. Az ideiglenes fájlok a obj könyvtárba kerülnek.

Ha a projekt több keretrendszert határoz meg, a végrehajtás dotnet run hibaüzenetet eredményez, kivéve, ha a -f|--framework <FRAMEWORK> keretrendszer megadására szolgáló beállítást használja.

A dotnet run parancs a projektek környezetében használatos, nem pedig a beépített szerelvényekben. Ha ehelyett egy keretrendszerfüggő alkalmazás DLL-t próbál futtatni, parancs nélkül kell használnia a dotnetet . Futtatáshoz myapp.dllpéldául használja a következőt:

dotnet myapp.dll

Az illesztőprogramról további információt a dotnet.NET CLI áttekintésében talál.

Az alkalmazás futtatásához a dotnet run parancs feloldja az alkalmazás azon függőségeit, amelyek a NuGet-gyorsítótárból származó megosztott futtatókörnyezeten kívül vannak. Mivel gyorsítótárazott függőségeket használ, nem ajánlott dotnet run alkalmazásokat éles környezetben futtatni. Ehelyett hozzon létre egy üzembe helyezéstés telepítse a közzétett kimenetet.

Implicit visszaállítás

Nem kell futtatnia dotnet restore , mert implicit módon fut minden olyan parancs, amely visszaállítást igényel, például dotnet new, dotnet build, dotnet run, dotnet test, dotnet publishés dotnet pack. Az implicit visszaállítás letiltásához használja a --no-restore lehetőséget.

A dotnet restore parancs továbbra is hasznos bizonyos esetekben, amikor a explicit visszaállításnak van értelme, például folyamatos integrációs buildek az Azure DevOps Servicesben vagy olyan buildrendszerekben, amelyeknek explicit módon kell szabályozni a visszaállítást.

A NuGet-hírcsatornák kezelésével kapcsolatos információkért tekintse meg a dokumentációtdotnet restore.

Ez a parancs támogatja a dotnet restore hosszú formában átadott beállításokat (például --source). A rövid űrlapbeállítások, például -sa rövid űrlapok nem támogatottak.

Számítási feladatjegyzék letöltése

A parancs futtatásakor a rendszer elindítja a számítási feladatok hirdetési jegyzékeinek aszinkron háttérletöltését. Ha a letöltés a parancs befejeződésekor is fut, a letöltés leáll. További információ: Hirdetési jegyzékek.

Arguments

<applicationArguments>

A futtatott alkalmazásnak átadott argumentumok.

A nem felismert dotnet run argumentumokat a rendszer átadja az alkalmazásnak. Ha el szeretné különíteni az dotnet run argumentumokat az alkalmazás argumentumaitól, használja a -- lehetőséget.

Beállítások

  • --

    Elválasztja az dotnet run argumentumokat a futtatott alkalmazás argumentumaitól. Az elválasztójel utáni összes argumentumot a rendszer átadja az alkalmazásfuttatásnak.

  • -a|--arch <ARCHITECTURE>

    A célarchitektúra megadása. Ez egy rövidített szintaxis a futtatókörnyezet azonosítójának (RID) beállításához, ahol a megadott érték az alapértelmezett RID-vel van kombinálva. Egy gépen például win-x64 a RID beállítása a következőre --arch x86van advawin-x86: . Ha ezt a lehetőséget használja, ne használja a -r|--runtime beállítást. Elérhető a .NET 6 7. előzetes verziója óta.

  • --artifacts-path <ARTIFACTS_DIR>

    A végrehajtott parancs összes buildkimeneti fájlja a megadott elérési út alatti almappákba kerül, projekt szerint elválasztva. További információ: Artifacts Kimeneti elrendezés. A .NET 8 SDK óta érhető el.

  • -c|--configuration <CONFIGURATION>

    Meghatározza a buildkonfigurációt. A legtöbb projekt esetében az Debugalapértelmezett beállítás, de felülbírálhatja a projekt buildkonfigurációs beállításait.

  • --disable-build-servers

    Kényszeríti a parancsot az állandó buildkiszolgálók figyelmen kívül hagyására. Ez a beállítás konzisztens módot biztosít a buildek gyorsítótárazásának letiltására, ami az alapoktól kényszeríti a buildeket. A gyorsítótárakra nem támaszkodó buildek akkor hasznosak, ha a gyorsítótárak valamilyen okból sérültek vagy helytelenek. A .NET 7 SDK óta érhető el.

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

    Beállítja a megadott környezeti változót a parancs által futtatandó folyamatban. A megadott környezeti változó nincs alkalmazva a dotnet run folyamatra.

    Az ebben a beállításban átadott környezeti változók elsőbbséget élveznek a környezeti környezeti változókkal, a System.CommandLine-irányelvekkel env és environmentVariables a kiválasztott indítási profillal szemben. További információ: Környezeti változók.

    (Ez a beállítás a .NET SDK 9.0.200-ban lett hozzáadva.)

  • -f|--framework <FRAMEWORK>

    Létrehozza és futtatja az alkalmazást a megadott keretrendszer használatával. A keretrendszert meg kell adni a projektfájlban.

  • --file <FILE_PATH>

    A futtatandó fájlalapú alkalmazás elérési útja. Ha nincs megadva elérési út, a rendszer az aktuális könyvtárat használja a fájl megkereséséhez és futtatásához. További információ a fájlalapú alkalmazásokról: Fájlalapú C#-alkalmazások létrehozása.

    A Unixon közvetlenül futtathat fájlalapú alkalmazásokat a parancssorban lévő forrásfájlnév használatával ahelyett dotnet run, hogy a parancsot használna. Először győződjön meg arról, hogy a fájl rendelkezik végrehajtási engedélyekkel. Ezután adjon hozzá egy shebang sort #! a fájl első soraként, például:

    #!/usr/bin/env dotnet run
    

    Ezután közvetlenül a parancssorból futtathatja a fájlt:

    ./ConsoleApp.cs
    

    A .NET SDK 10.0.100-ban bevezetett.

  • --force

    Minden függőséget feloldani kell, még akkor is, ha az utolsó visszaállítás sikeres volt. A jelölő megadása megegyezik a project.assets.json fájl törlésével.

  • --interactive

    Lehetővé teszi, hogy a parancs leálljon, és várja meg a felhasználói bemenetet vagy műveletet. Például a hitelesítés befejezéséhez.

  • --launch-profile <NAME>

    Az alkalmazás indításakor használni kívánt indítási profil neve (ha van ilyen). Az indítási profilok a launchSettings.json fájlban vannak definiálva, és általában Developmentaz , Stagingés Production. További információ: Több környezet használata.

  • --no-build

    Futtatás előtt nem hozza létre a projektet. Implicit módon beállítja a jelölőt --no-restore is.

  • --no-cache

    A futtatás előtt hagyja ki a naprakész ellenőrzéseket, és mindig hozza létre a programot.

  • --no-dependencies

    Projekt projektközi (P2P) hivatkozásokkal történő visszaállításakor a gyökérprojektet állítja vissza, nem pedig a hivatkozásokat.

  • --no-launch-profile

    Nem próbálja launchSettings.json használni az alkalmazás konfigurálásához.

  • --no-restore

    Nem hajt végre implicit visszaállítást a parancs futtatásakor.

  • --no-self-contained

    Az alkalmazás közzététele keretrendszerfüggő alkalmazásként. Az alkalmazás futtatásához telepíteni kell egy kompatibilis .NET-futtatókörnyezetet a célgépre.

  • --os <OS>

    A cél operációs rendszer (OS) megadása. Ez egy rövidített szintaxis a futtatókörnyezet azonosítójának (RID) beállításához, ahol a megadott érték az alapértelmezett RID-vel van kombinálva. Egy gépen például win-x64 a RID beállítása a következőre --os linuxvan advalinux-x64: . Ha ezt a lehetőséget használja, ne használja a -r|--runtime beállítást. A .NET 6 óta érhető el.

  • --project <PATH>

    Megadja a futtatni kívánt projektfájl elérési útját (mappanév vagy teljes elérési út). Ha nincs megadva, alapértelmezés szerint az aktuális könyvtár lesz.

    A -p rövidítés --project a .NET 6 SDK-tól kezdve elavult . Korlátozott ideig -p továbbra is használható --project az elavulással kapcsolatos figyelmeztetés ellenére. Ha a beállításhoz megadott argumentum nem tartalmaz =, a parancs rövidnek fogadja el -p a következőt --project: . Ellenkező esetben a parancs feltételezi, hogy -p ez a rövid kifejezés.--property Ez a -p--project rugalmas használat a .NET 7-ben megszűnik.

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

    Beállít egy vagy több MSBuild tulajdonságot. Adjon meg több tulajdonságot pontosvesszővel vagy a beállítás ismétlésével:

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

    A rövid űrlap -p használható a következőhöz --property: . Ha a beállításhoz megadott argumentum tartalmaz =, -p akkor a rendszer rövidnek fogadja el a következőt --property: . Ellenkező esetben a parancs feltételezi, hogy -p ez a rövid kifejezés.--project

    Ha az MSBuild tulajdonság beállítása helyett az alkalmazásnak szeretne átadni --property , adja meg a -- szintaxiselválasztó utáni lehetőséget, például:

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

    Megadja a cél futtatókörnyezetet a csomagok visszaállításához. A futtatókörnyezet-azonosítók (RID-k) listáját a RID-katalógusban találja.

  • --sc|--self-contained

    Tegye közzé a .NET-futtatókörnyezetet az alkalmazással, hogy a futtatókörnyezetet ne kelljen telepíteni a célgépre.

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

    Megadja, hogy a terminálnaplózót használni kell-e a buildkimenethez. Az alapértelmezett érték az auto, amely először ellenőrzi a környezetet a terminálnaplózás engedélyezése előtt. A környezet ellenőrzi, hogy a terminál képes-e modern kimeneti funkciókat használni, és nem használ átirányított szabványos kimenetet az új naplózó engedélyezése előtt. on kihagyja a környezetellenőrzést, és engedélyezi a terminálnaplózást. off kihagyja a környezetellenőrzést, és az alapértelmezett konzolnaplózót használja.

    A Terminálnaplózó megjeleníti a visszaállítási fázist, majd a buildelési fázist. Az egyes fázisok során az éppen épülő projektek a terminál alján jelennek meg. Az épület összes projektje az MSBuild-célt és a célra fordított időt is kimeneteli. Ebben az információban további információt talál a buildről. Amikor egy projekt befejeződött, egyetlen "befejezett build" szakasz lesz megírva, amely rögzíti a következőt:

    • Az épített projekt neve.
    • A cél-keretrendszer (ha több-célzott).
    • A build állapota.
    • A build elsődleges kimenete (amely hivatkozásra van hivatkozva).
    • A projekthez létrehozott diagnosztikák.

    Ez a beállítás a .NET 8-tól érhető el.

  • -v|--verbosity <LEVEL>

    A parancs részletességi szintjét állítja be. Az engedélyezett értékek a következőkq[uiet]: , m[inimal], n[ormal]d[etailed]és diag[nostic]. Az alapértelmezett érték minimal. További információ: LoggerVerbosity.

  • -?|-h|--help

    A parancs használatának leírását nyomtatja ki.

Környezeti változók

A környezeti változók négy mechanizmussal alkalmazhatók az elindított alkalmazásra:

  1. Környezeti környezeti változók az operációs rendszerből a parancs futtatásakor.
  2. System.CommandLine-irányelvek env , például [env:key=value]. Ezek a teljes dotnet run folyamatra vonatkoznak, nem csak a projektre, amelyet a dotnet runprogram futtat.
  3. environmentVariablesa projekt -lp található kiválasztott indítási profilból (ha van ilyen). Ezek a projekt által futtatott dotnet runprojektre vonatkoznak.
  4. -e|--environment CLI-beállításértékek (hozzáadva a .NET SDK 9.0.200-es verziójához). Ezek a projekt által futtatott dotnet runprojektre vonatkoznak.

A környezet ugyanabban a sorrendben van felépítve, mint ez a lista, így a -e|--environment beállítás a legmagasabb prioritással rendelkezik.

Példák

  • Futtassa a projektet az aktuális könyvtárban:

    dotnet run
    
  • Futtassa a megadott fájlalapú alkalmazást az aktuális könyvtárban:

    dotnet run --file ConsoleApp.cs
    

    A fájlalapú alkalmazástámogatás a .NET SDK 10.0.100-ban lett hozzáadva.

  • Futtassa a megadott projektet:

    dotnet run --project ./projects/proj1/proj1.csproj
    
  • Futtassa a projektet az aktuális könyvtárban, és adja meg a kiadási konfigurációt:

    dotnet run --property:Configuration=Release
    
  • Futtassa a projektet az aktuális könyvtárban (a --help példában szereplő argumentumot a rendszer átadja az alkalmazásnak, mivel az üres -- beállítást használja):

    dotnet run --configuration Release -- --help
    
  • Állítsa vissza a projekt függőségeit és eszközeit az aktuális könyvtárban, csak minimális kimenettel, majd futtassa a projektet:

    dotnet run --verbosity m
    
  • Futtassa a projektet az aktuális könyvtárban a megadott keretrendszer használatával, és adja át az argumentumokat az alkalmazásnak:

    dotnet run -f net6.0 -- arg1 arg2
    

    Az alábbi példában a rendszer három argumentumot ad át az alkalmazásnak. Az egyik argumentumot a rendszer a következővel -adja át, majd két argumentumot ad át --:

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