Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah saya boleh mendapatkan laluan pemasangan di .net?

Bagaimanakah saya boleh mendapatkan laluan pemasangan di .net?

Barbara Streisand
Barbara Streisandasal
2025-01-31 23:01:10340semak imbas

How Can I Reliably Get the Assembly Path in .NET?

Mendapatkan laluan pemasangan dalam aplikasi .NET

Menentukan lokasi perhimpunan yang sedang dilaksanakan adalah tugas yang kerap dalam pembangunan .NET. Laluan ini penting untuk mengakses sumber berbanding dengan direktori perhimpunan. Walaupun ujian unit sering memerlukan maklumat ini, kegunaannya meliputi pelbagai senario lain.

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.
Penyelesaian yang mantap

Untuk mengatasi ketidakkonsistenan pendekatan di atas, harta tersuai yang lebih dipercayai adalah disyorkan:

<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>
Kaedah ini menggunakan harta

, 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn