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.
A cikk a következőre 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>] [--disable-build-servers]
[-e|--environment <KEY=VALUE>] [--file <FILE_PATH>]
[-f|--framework <FRAMEWORK>] [--force] [--interactive]
[-lp|--launch-profile <NAME>] [--no-build] [--no-cache]
[--no-dependencies] [--no-launch-profile] [--no-restore] [--os <OS>]
[-p|--property:<PROPERTYNAME>=<VALUE>]
[--project <PATH>] [-r|--runtime <RUNTIME_IDENTIFIER>]
[--sc|--self-contained] [--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 .
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 dotnet illesztőről további információt a .NET parancssori felület á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 még mindig hasznos bizonyos esetekben, amikor a explicit visszaállításnak van értelme, például folyamatos integrációs buildek Azure DevOps Szolgáltatásokban 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.
Argumentumok továbbítása az alkalmazásnak
dotnet run továbbít minden olyan jogkivonatot, amelyet nem ismer fel az alkalmazásnak. A továbbított jogkivonatok megtartják az eredeti sorrendet, de dotnet run először eltávolítják az általa megismert beállításokat. Ha egy felismert beállítás egy ismeretlen beállítás neve és értéke között jelenik meg, a felismert beállítás eltávolítása megváltoztathatja a maradék jogkivonatok jelentését.
Az alábbi parancs például a felismert beállítást --project foglalja össze az alkalmazás által fogadni kívánt jogkivonatok között:
dotnet run --app-flag --app-name --project ConsoleApp.csproj A.txt
A használat --project ConsoleApp.csprojután dotnet run az alkalmazás megkapja a következőt--app-flag --app-name A.txt: . Az alkalmazás ezután az eredeti parancssornak nem megfelelő értékként --app-namekezeliA.txt.
A kétértelműség elkerülése érdekében helyezze el az alkalmazás argumentumait egy konstans --után:
dotnet run --project ConsoleApp.csproj -- --app-flag --app-name A.txt
Az -- elválasztó az alábbi jogkivonatokat alkalmazásargumentumként jelöli meg, ezért dotnet run nem rendezi újra vagy értelmezi újra őket. Az elválasztó emellett időtálló szkripteket is használ az új dotnet run beállításokhoz, amelyek később megegyezhetnek az alkalmazásnak korábban továbbított jogkivonattal.
Note
Ugyanez a viselkedés vonatkozik dotnet build és dotnet test Microsoft. Testing.Platform (MTP) mód, amely ismeretlen jogkivonatokat továbbít az MSBuildnek vagy a tesztalkalmazásnak. További információ: dotnet testArgumentumok továbbítása a tesztalkalmazáshoz.
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. .NET 7. előzetes verzió óta érhető el. -
--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. Ezt a lehetőséget és a megadott értéket explicit módon kaszkádoltnak kell lennie minden olyan
dotnetparancsban, amely egy másikdotnetparancs kimenetétől függ, például a használatdotnet build --no-restoreésdotnet publish --no-builda . .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. .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 .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 a fájlnév használatával hajthat végre fájlalapú alkalmazásokat egy shebang (
#!) irányelv hozzáadásával és a végrehajtási engedély beállításával. További információ: Unix shebang (#!) támogatás.A .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.
-lp|--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. 6 .NET ó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--projectrövidítése elavult .NET 6 SDK-tól kezdve. 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.--propertyA-p--projectrugalmas használata a 7. .NET-ben lesz megszüntetve.--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 .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|--environmentPARANCSSOR-beállításértékek (.NET SDK 9.0.200-es verziójában). 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 .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