Objek proses diwakili oleh kelas System.Diagnostics.Process di .NET. Nama file exe yang sedang dijalankan dapat diperoleh dengan memanggil Process.GetCurrentProcess().MainModule.FileName. Namun metode ini hanya mendapatkan nama file. Jika direktori kerja tidak dialihkan selama program berjalan, Anda dapat memanggil metode System.IO.Path untuk mendapatkan jalur absolut. Namun, direktori saat ini juga dapat diperoleh melalui Environment.CurrentDirectory, dan banyak perangkat lunak akan berpindah direktori kerja saat menggunakan Open Dialog untuk membuka file, sehingga mekanisme ini tidak efektif.
Jika berada dalam aplikasi Windows Forms, aplikasi saat ini juga direpresentasikan sebagai objek System.Windows.Forms.Application. Melalui properti statisnya Application.ExecutablePath dan Application.StartupPath, jalur dan jalur startup dari file yang dapat dieksekusi dapat diperoleh. .
Tetapi jika tidak ada di aplikasi Windows atau di Perpustakaan, meskipun properti objek Aplikasi masih dapat diperoleh, Anda masih perlu menambahkan referensi ke Sistem Perakitan.Windows.Forms di proyek, yang sangat merepotkan . Saat ini, Anda bisa mendapatkan Majelis yang sedang dijalankan melalui metode statis Majelis, GetCallingAssembly atau GetExecutingAssembly, dan kemudian mendapatkan lokasi Majelis melalui kelas Lokasi Majelis.
Namun, saat menggunakan Majelis, Anda mungkin mengalami masalah izin. Pada saat yang sama, Majelis.GetCallingAssembly atau Majelis.GetExecutingAssembly mungkin tidak mendapatkan lokasi file .exe. Majelis dengan nama kuat yang ditambahkan ke GAC tidak perlu berada di direktori yang sama dengan .exe saat dijalankan.
Ketika proses .NET dimulai, AppDomain akan dibuat, dan semua Majelis akan dimuat ke AppDomain tertentu. Atribut SetupInformation disediakan di AppDomain, yang dapat memperoleh beberapa informasi ketika AppDomain dimulai .CurrentDomain.SetupInformation. .ApplicationBase mendapatkan jalur di mana aplikasi saat ini berada.
Setelah mendapatkan direktori yang diperlukan melalui metode di atas, Anda dapat memanggil metode System.IO.Path untuk mendapatkan nama file, nama direktori, jalur absolut, dll. Hentikan penguraian string jalur dan gunakan kelas System.IO.Path sebagai gantinya.
Saat mengembangkan aplikasi di bawah .NET, memahami hubungan antara Proses/Aplikasi->AppDomain->Assembly sangat membantu untuk mengimplementasikan logika yang benar.