Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bir uygulamayı apphost aracılığıyla başlattığınızda, Environment.GetCommandLineArgs() artık göreli yol veya symlink adı da dahil olmak üzere çağrı adını korur.
dotnet <application.dll> için davranış değişmeden kalır.
Sürüm kullanıma sunulmuştur
.NET 11 Önizleme 7
Önceki davranış
Daha önce bir uygulamayı apphost aracılığıyla başlattığınızda, Environment.GetCommandLineArgs()[0] çağırma adı yerine yönetilen derleme yolunu veya çözümlenen yürütülebilir yolu döndürdü.
Yeni davranış
.NET 11'den başlayarak, bir uygulamayı apphost aracılığıyla başlattığınızda, Environment.GetCommandLineArgs()[0] göreli yollar ve symlink adları da dahil olmak üzere çağrı adını korur. Örneğin, special_myapp, ./special_myapp için bir sembolik bağlantıysa ve ./special_myapp komutunu çalıştırırsanız, değer myapp olur.
dotnet <application.dll> ile bir uygulama başlattığınızda davranış değişmez.
Kesinti yaratan değişiklik türü
Bu değişiklik davranışsal bir değişikliktir.
Değişiklik nedeni
.NET'i yerel işlem davranışıyla hizalamak için çalışma zamanı artık başlatma sırasında sağlanan argv[0] değerini korur. Bu davranış, bir uygulamanın hangi symlink adıyla başlatıldığını ayırt etmesine de olanak tanır.
Önerilen eylem
Yürütülebilir dosya yolunu almak için Environment.ProcessPath kullanın. Yönetilen giriş derlemesinin konumunu almak için Assembly.GetEntryAssembly()?.Location kullanın (bkz. Assembly.GetEntryAssembly() ve Assembly.Location). Konum, tek dosyalı uygulamalarda paketlenmiş derlemeler için boş bir dizedir. invocation name gerektiğinde Environment.GetCommandLineArgs()[0] kullanmaya devam edin.