Ottieni percorso eseguibile in C#

Muhammad Maisam Abbas 16 febbraio 2024
  1. Ottieni percorso eseguibile con la classe Assembly in C#
  2. Ottieni percorso eseguibile con la classe AppDomain in C#
  3. Ottieni percorso eseguibile con la classe Path in C#
Ottieni percorso eseguibile in C#

Questo tutorial introdurrà i metodi per ottenere il percorso eseguibile del nostro codice in C#.

Ottieni percorso eseguibile con la classe Assembly in C#

La classe Assembly rappresenta un assembly che è un blocco predefinito riutilizzabile di un’applicazione CLR Common Language Runtime in C#. La funzione Assembly.GetEntryAssembly() viene utilizzata per ottenere l’assembly del codice attualmente in esecuzione. Possiamo ottenere il percorso del codice attualmente in esecuzione con la proprietà Assembly.GetEntryAssembly().Location che restituisce il percorso eseguibile della corrente in una variabile stringa. Vedere il seguente esempio di codice.

using System;
using System.IO;
using System.Reflection;
namespace executable_path {
  class Program {
    static void Main(string[] args) {
      string execPath = Assembly.GetEntryAssembly().Location;
      Console.WriteLine(execPath);
    }
  }
}

Produzione:

C :\Debug\destroy object.exe

Nel codice precedente, abbiamo visualizzato il percorso eseguibile del nostro codice corrente con la classe Assembly in C#. Abbiamo memorizzato il valore restituito dalla proprietà Assembly.GetEntryAssembly().Location all’interno della variabile stringa execPath e lo abbiamo mostrato all’utente.

Ottieni percorso eseguibile con la classe AppDomain in C#

Il metodo sopra ci fornisce il percorso insieme al nome del file eseguibile. Se vogliamo ottenere il nome della directory senza il nome del file eseguibile, possiamo usare la classe AppDomain in C#. La classe AppDomain rappresenta un dominio dell’applicazione. Un dominio dell’applicazione è un ambiente isolato in cui vengono eseguite le applicazioni. La proprietà AppDomain.CurrentDomain ottiene il dominio dell’applicazione dell’applicazione corrente. Possiamo ottenere il percorso eseguibile con la proprietà AppDomain.CurrentDomain.BaseDirectory, che restituisce il percorso della directory contenente il file eseguibile del file di codice corrente in una variabile stringa. Il seguente esempio di codice ci mostra come possiamo ottenere il percorso eseguibile del nostro codice corrente con la classe AppDomain in C#.

using System;
using System.IO;
using System.Reflection;
namespace executable_path {
  class Program {
    static void Main(string[] args) {
      string execPath = AppDomain.CurrentDomain.BaseDirectory;
      Console.WriteLine(execPath);
    }
  }
}

Produzione:

C :\Debug\

Nel codice precedente, abbiamo visualizzato il percorso eseguibile del nostro codice corrente con la classe AppDomain in C#. Abbiamo memorizzato il valore restituito dalla proprietà AppDomain.CurrentDomain.BaseDirectory all’interno della variabile stringa execPath e lo abbiamo mostrato all’utente. Questo approccio è consigliato perché è il più semplice e richiede meno codice rispetto agli altri due approcci.

Ottieni percorso eseguibile con la classe Path in C#

La classe Path esegue varie operazioni su stringhe contenenti percorsi di file in C#. La funzione Path.GetDirectoryName() può ottenere informazioni sulla directory specificata dal percorso. Possiamo usare la proprietà System.Reflection.Assembly.GetExecutingAssembly().CodeBase come argomento della funzione Path.GetDirectoryName() per ottenere il nome della directory contenente il codice corrente. Vedere il seguente esempio di codice.

using System;
using System.IO;
using System.Reflection;
namespace executable_path {
  class Program {
    static void Main(string[] args) {
      string execPath =
          Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().CodeBase);
      Console.WriteLine(execPath);
    }
  }
}

Produzione:

file :\C :\Users\Maisam\source\repos\executable path\executable path\bin\Debug

Nel codice precedente, abbiamo visualizzato il percorso eseguibile del nostro codice corrente con la classe Path in C#. Abbiamo memorizzato il valore restituito dalla funzione Path.GetDirectoryName() all’interno della variabile stringa execPath e lo abbiamo mostrato all’utente. Questo approccio restituisce il percorso con la stringa file:\ all’inizio del percorso. Questo approccio non è consigliato perché richiede più codice rispetto ai due approcci precedenti.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Articolo correlato - Csharp Path