Heim > Backend-Entwicklung > C++ > Wie kann ich den Montagepfad zuverlässig in .NET bekommen?

Wie kann ich den Montagepfad zuverlässig in .NET bekommen?

Barbara Streisand
Freigeben: 2025-01-31 23:01:10
Original
339 Leute haben es durchsucht

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

Abrufen des Montagepfads in .NET -Anwendungen

abrufen

Die Bestimmung des Standorts der derzeit ausführenden Montage ist eine häufige Aufgabe in der .NET -Entwicklung. Dieser Weg ist entscheidend für den Zugriff auf Ressourcen in Bezug auf das Verzeichnis der Versammlung. Während Unit -Tests diese Informationen häufig erfordert, erstrecken sich die Verwendung auf verschiedene andere Szenarien.

Es gibt verschiedene Methoden, um den Montagepfad mit jeweils potenziellen Einschränkungen zu erhalten:

  • Environment.CurrentDirectory: Gibt das aktuelle Arbeitsverzeichnis der Anwendung zurück, das sich vom tatsächlichen Standort der Baugruppe unterscheidet.
  • Assembly.GetAssembly(Type).Location: liefert den Pfad der Baugruppe, die einen angegebenen Typ enthält. Dies kann manchmal auf einen temporären Ort hinweisen, insbesondere innerhalb von Test -Frameworks.
  • Assembly.GetExecutingAssembly().Location: Ähnlich wie bei der vorherigen Methode wird der Pfad der ausführenden Montage zurückgegeben, kann aber auch in bestimmten Testkontexten einen temporären Pfad ergeben.

Eine robuste Lösung

Um die Inkonsistenzen der obigen Ansätze zu überwinden, wird eine zuverlässigere benutzerdefinierte Eigenschaft empfohlen:

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);
    }
}
Nach dem Login kopieren

Diese Methode verwendet die Eigenschaft CodeBase, die die URI der Baugruppe liefert. Der URI wird dann nicht beschleunigt und der Verzeichnispfad unter Verwendung von Path.GetDirectoryName extrahiert. Dieser Ansatz sorgt dafür, dass konsistente Ergebnisse selbst in verschiedenen Umgebungen in den Unit -Tests gewährleistet sind. Dies liefert eine zuverlässige Lösung zum Abrufen des Standorts der Baugruppe unabhängig vom Ausführungskontext.

Das obige ist der detaillierte Inhalt vonWie kann ich den Montagepfad zuverlässig in .NET bekommen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage