Beberapa kaedah wujud untuk mendapatkan laluan pemasangan, masing -masing dengan batasan yang berpotensi:
Environment.CurrentDirectory
Mengembalikan direktori kerja semasa aplikasi, yang mungkin berbeza dari lokasi sebenar perhimpunan.
Assembly.GetAssembly(Type).Location
Menyediakan jalan perhimpunan yang mengandungi jenis yang ditentukan. Ini kadang -kadang boleh menunjuk ke lokasi sementara, terutamanya dalam kerangka ujian.
Assembly.GetExecutingAssembly().Location
Sama dengan kaedah sebelumnya, ini mengembalikan laluan perhimpunan pelaksanaan, tetapi juga boleh menghasilkan jalan sementara dalam konteks ujian tertentu.
<code class="language-csharp">public static string AssemblyDirectory { get { string codeBase = Assembly.GetExecutingAssembly().CodeBase; UriBuilder uri = new UriBuilder(codeBase); string path = Uri.UnescapeDataString(uri.Path); return Path.GetDirectoryName(path); } }</code>
, yang menyediakan URI perhimpunan. URI kemudiannya dihuraikan, tidak diselaraskan, dan laluan direktori diekstrak menggunakan CodeBase
. Pendekatan ini memastikan hasil yang konsisten, walaupun dalam persekitaran ujian unit yang pelbagai. Ini menyediakan penyelesaian yang boleh dipercayai untuk mendapatkan lokasi pemasangan tanpa mengira konteks pelaksanaan. Path.GetDirectoryName
Atas ialah kandungan terperinci Bagaimanakah saya boleh mendapatkan laluan pemasangan di .net?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!