Aşağıdaki kod ile basit bir konsol uygulaması oluşturdum:
Console.WriteLine(System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location));
Console.WriteLine(System.AppDomain.CurrentDomain.BaseDirectory);
Console.WriteLine(System.Environment.CurrentDirectory);
Console.WriteLine(System.IO.Directory.GetCurrentDirectory());
Console.WriteLine(Environment.CurrentDirectory);
Ortaya çıkan yürütülebilir dosyayı kopyaladım C:\temp2
. Sonra o yürütülebilir dosya için bir kısayol yerleştirdi C:\temp3
ve koştu (bir kez exe kendisi ve bir kez kısayol). Her iki kez de aşağıdaki çıktıları verdi:
C:\temp2
C:\temp2\
C:\temp2
C:\temp2
C:\temp2
Neredeyse tamamen aynı şeyi yapan beş farklı yöntem olduğunu açıklamak için bazı cockamamie nedeni olmalı emin olsa da , kesinlikle ne olduğunu bilmiyorum. Bununla birlikte, çoğu durumda, hangisini sevdiğinizi seçmekte özgürsünüz.
GÜNCELLEME:
Kısayol özelliklerini değiştirdim ve "Başlangıç Yeri:" alanını değiştirdim C:\temp3
. Bu, aşağıdaki çıktı ile sonuçlanmıştır:
C:\temp2
C:\temp2\
C:\temp3
C:\temp3
C:\temp3
... farklı yöntemler arasındaki ayrımların en azından bir kısmını gösteriyor .