Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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 runargumentumokat 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-x64a 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|--runtimebeá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-serversKé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 runfolyamatra.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ésenvironmentVariablesa 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 runEzután közvetlenül a parancssorból futtathatja a fájlt:
./ConsoleApp.csA .NET SDK 10.0.100-ban bevezetett.
--forceMinden 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.
-
--interactiveLehető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ésProduction. További információ: Több környezet használata.--no-buildFuttatás előtt nem hozza létre a projektet. Implicit módon beállítja a jelölőt
--no-restoreis.--no-cacheA futtatás előtt hagyja ki a naprakész ellenőrzéseket, és mindig hozza létre a programot.
--no-dependenciesProjekt 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-profileNem próbálja launchSettings.json használni az alkalmazás konfigurálásához.
--no-restoreNem hajt végre implicit visszaállítást a parancs futtatásakor.
-
--no-self-containedAz 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-x64a 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|--runtimebeá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
-prövidítés--projecta .NET 6 SDK-tól kezdve elavult . Korlátozott ideig-ptovábbra is használható--projectaz elavulással kapcsolatos figyelmeztetés ellenére. Ha a beállításhoz megadott argumentum nem tartalmaz=, a parancs rövidnek fogadja el-pa következőt--project: . Ellenkező esetben a parancs feltételezi, hogy-pez a rövid kifejezés.--propertyEz a-p--projectrugalmas 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
-phasználható a következőhöz--property: . Ha a beállításhoz megadott argumentum tartalmaz=,-pakkor a rendszer rövidnek fogadja el a következőt--property: . Ellenkező esetben a parancs feltételezi, hogy-pez a rövid kifejezés.--projectHa 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-containedTegye 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.onkihagyja a környezetellenőrzést, és engedélyezi a terminálnaplózást.offkihagyja 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ők
q[uiet]: ,m[inimal],n[ormal]d[etailed]ésdiag[nostic]. Az alapértelmezett értékminimal. További információ: LoggerVerbosity. -
-?|-h|--helpA 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:
- Környezeti környezeti változók az operációs rendszerből a parancs futtatásakor.
- System.CommandLine-irányelvek
env, például[env:key=value]. Ezek a teljesdotnet runfolyamatra vonatkoznak, nem csak a projektre, amelyet adotnet runprogram futtat. -
environmentVariablesa projekt-lptalálható kiválasztott indítási profilból (ha van ilyen). Ezek a projekt által futtatottdotnet runprojektre vonatkoznak. -
-e|--environmentCLI-beállításértékek (hozzáadva a .NET SDK 9.0.200-es verziójához). Ezek a projekt által futtatottdotnet 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 runFuttassa a megadott fájlalapú alkalmazást az aktuális könyvtárban:
dotnet run --file ConsoleApp.csA 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.csprojFuttassa a projektet az aktuális könyvtárban, és adja meg a kiadási konfigurációt:
dotnet run --property:Configuration=ReleaseFuttassa a projektet az aktuális könyvtárban (a
--helppé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 mFuttassa 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 arg2Az 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