Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Když spustíte aplikaci prostřednictvím apphostu, Environment.GetCommandLineArgs() nyní zachová název volání, včetně relativní cesty nebo názvu symbolického odkazu. Chování pro dotnet <application.dll> je beze změny.
Verze byla představena
.NET 11 Preview 7
Předchozí chování
Dříve, když jste aplikaci spustili prostřednictvím hostitele aplikace, Environment.GetCommandLineArgs()[0] vrátila spravovanou cestu sestavení nebo zjištěnou cestu ke spustitelnému souboru, a ne název vyvolání.
Nové chování
Počínaje rozhraním .NET 11 zachová při spuštění aplikace prostřednictvím hostitele Environment.GetCommandLineArgs()[0] aplikace název spuštění, včetně relativních cest a názvů symlink. Pokud special_myapp je například symlink na myappa spustíte ./special_myapp, hodnota je ./special_myapp.
Při spuštění aplikace se dotnet <application.dll>chování nezmění.
Typ zásadní změny
Tato změna je změna chování.
Důvod změny
Aby se .NET sladilo s chováním nativního procesu, modul runtime teď zachovává hodnotu zadanou v argv[0] při spuštění. Toto chování také umožňuje aplikaci rozlišit, který název symlinku ji spustil.
Doporučená akce
K získání cesty ke spustitelnému souboru použijte Environment.ProcessPath. Pokud chcete získat umístění spravovaného vstupního sestavení, použijte Assembly.GetEntryAssembly()?.Location (viz Assembly.GetEntryAssembly() a Assembly.Location). Umístění je prázdný řetězec pro sbalené sestavení v aplikacích s jedním souborem. Pokud potřebujete název vyvolání, pokračujte v používání Environment.GetCommandLineArgs()[0] .